jQuery 在 .load() 之后多次调用我的实时 ("keydown") 事件

标签 jquery keydown

我有以下 jQuery 事件:

$("#scanItem").live("keydown", function (e) {
    if (e.keyCode == 13) {
        e.preventDefault();
        alert('hi');
    }
});

scanItem 是我页面中的一个文本框。

我第一次加载页面时,一切正常。按 Enter 键将触发该事件 1 次。不过,我有一个下拉菜单,它将执行 jQuery 加载来重新加载 div。

div 重新加载后,当我在文本框中按 Enter 时,警报会触发 3 次。

我已经为此绞尽脑汁好几个小时了。有什么想法为什么会发生这种情况吗?

最佳答案


$("#scanItem").unbind().on("keydown", function (e) {
    if (e.keyCode == 13) {
        e.preventDefault();
        alert('hi');
    }
});

关于jQuery 在 .load() 之后多次调用我的实时 ("keydown") 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14738281/

相关文章:

javascript - Jquery keyup 然后 next()

haskell - 如何在 haskell 中获取 keydown 和 keyup 事件?

javascript - Opera 中的输入类型文件

javascript - 使用 jQuery 的数字格式删除减号

javascript - 调试本地存储

javascript - 需要帮助打开和关闭水平滑出面板?

jquery - 在鼠标悬停时不断增加或减少 css "left"值

java - 调用需要 KeyEvent 参数的函数

javascript - 同时按下的键

javascript - 悬停和嵌套列表 : which element is being hovered?