jquery监听键盘事件?

在一个<form>元素中有一个<input>,大家都知道这种情况下,在文本框中输入一些字符按回车可以直接提交数据,这是浏览器的默认行为。
现在用jquery监听键盘事件,当event.Code=13,也就是键盘按下回车的时候,执行其它动作(比如弹出警告框)。
这样一来就会产生其他问题,用户按回车不能直接提交数据了。

请问有哪些解决方案?

阅读 9.1k
5 个回答

监听input的键盘事件,然后再判断是否是event.Code=13

可以不使用浏览器的默认提交事件,估计你是想在提交之前验证一下输入的值,可以验证之后,手动提交

$('input').on('keydown',function(event){
    event.preventDefault();//阻止浏览器默认动作
    if(event.Code == 13){
    //alert("你需要的操作");
    }
    $('form').submit();
});

可以不用监听键盘事件的。直接从源头解决。
监听表单的submit事件,对按钮提交和回车提交都适用。

$('form').on('submit', function(e) {
    if (true) { //做一些判断,不符合提交条件的情况下执行alert
      alert('这里是警告框')
      e.preventDefault();
    }
});

你可以单独写一个提交表单的方法,然后在你需要提交表单的时候触发事件就好了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题