经过大量研究(在这里和其他地方),我找到了一种防止键盘按下滚动 HTML 页面的方法:
var ar=new Array(33,34,35,36,37,38,39,40);
var prevent_acc = function(e) {
var key = e.which;
console.log(key);
//if(key==35 || key == 36 || key == 37 || key == 39)
if($.inArray(key,ar) > -1) {
console.log("preventing")
e.preventDefault();
return false;
}
return true;
}
$(document).keydown(prevent_acc);
$(document).keyup(prevent_acc);
$(document).keypress(prevent_acc);
当焦点在主页上时,这一切都很好。但是,当 iframe 容器获得焦点时,我遇到了一个问题 - 然后,整个页面被滚动并且该功能没有被触发。
我是否需要在每个 iframe 中插入一些代码,或者有没有办法捕捉从中冒泡的事件并阻止它?