我需要在按下 PageUp/PageDown 键和滚动元素时捕捉,但到目前为止我还无法做到这一点。我试过了
监听 'keydown' 事件**:当非滚动元素处于焦点时触发事件,但当滚动元素处于焦点时,不会触发任何事件
$(window).on('keydown', function(e)
{
console.log(e.keyCode === 34);
});
监听“按键”事件**:在任何上下文中都没有事件触发
$(window).on('keypress', function(e)
{
console.log("keypress"); //does nothing
});
监听“滚动”事件**:在任何上下文中都没有事件触发
$(window).scroll(function()
{
console.log("scrolling"); //does nothing
});
我一头雾水,一直没能找到任何线索。 我已经在 jsFiddle 中尝试了我当前的代码,它工作正常,所以它一定是更具体的东西。
最佳答案
尝试使用文档而不是窗口,这样它会考虑网页上的当前文档。
在您的代码中有括号未匹配。
$(document).ready(function(){
$(document).keypress(function(e){
if(e.keyCode === 34){
console.log('page down')
}
});
$(document).keypress(function(e){
console.log("keypress"); //console will print
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
希望这对你有用。
关于javascript - 捕获 'Page Down'/'Page Up' 关键事件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33739747/