如何防止按键事件干扰浏览器的输入支持?

时间:2012-10-17 14:45:39

标签: javascript twitter-bootstrap modal-dialog

我正在使用Bootstrap的模态组件为我的Web应用程序创建“添加用户”对话框。为了方便用户快速工作,我想让转义密钥关闭并按预期提交表单。在遇到不接受输入的div的常见问题之后,在模式下获得焦点的一些元素我最终只是将一个按键事件挂钩到'文档'。这实际上很有效,只有一个例外。

当在表单中输入数据时,浏览器有时会显示一个建议框:

点击转义以关闭建议框,或者输入从中选择一个元素,但不幸的是会触发一个按键事件,导致表单被关闭或提交。

在这种情况下,有没有办法可以忽略按键?我需要采取完全不同的方法吗?

2 个答案:

答案 0 :(得分:0)

另一种方法是将autocomplete="off"添加到输入标记中。

答案 1 :(得分:0)

您是否使用$(document).keyUp()来绑定您的ESC和Enter键事件。如果是这样,您可以尝试在该函数中添加此代码以忽略在输入标记中按下的按键:

$(document).keyup(function(e){
    if(e.srcElement.tagName == 'INPUT'){
        return;
    }else{
        // Your code to bind function to exit div or submit
    }
});
相关问题