按下结束键上的页面滚动,返回false

我的身体标签上有一个keydown事件,我让它听取end键(键码35)和home键(键码36)。

在我的if块中,我将它的最后一行作为return false; 。 然而我的页面仍在滚动! 我试过了return false; 在我的if块中的多个不同的地方,尝试使用e.preventDefault(); ,以及或代替e.bubbles = false; 。 这是我的代码:

  $("body").keydown(function(e) { if(e.ctrlKey && e.keyCode == 83) { e.preventDefault(); editForm(); return false; } else if(e.which == 35) { /* [end] key hit */ console.log("end key hit!"); return false; } else if(e.which == 36) { /* [home] key hit */ console.log("home key hit!"); return false; } }); 

这个令人困惑的问题可以帮到我吗? 我真的需要它不要滚动这两个键。 干杯!

编辑我把问题缩小了一点。 这似乎是jScrollPane的一个问题。 我会进一步调查并报告。 对不起麻烦的人。

好的,看起来jScrollPane也在使用keyCode 35。 转到jScrollPane(下面的URL)页面的未缩小源代码并搜索35。

http://jscrollpane.kelvinluck.com/script/jquery.jscrollpane.js

我要尝试的第一件事是使用文档而不是正文:

 $(document).keydown(..... 

我要尝试的第二件事是使用不同的事件,使用keydown和keyup以及按键并在所有3中阻止它。让我知道这是怎么回事。