我有以下 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/