0

我的身体标签上有一个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 的问题。我将进一步调查并报告。麻烦各位大佬抱歉。

4

2 回答 2

1

好的,看起来 jScrollPane 也在使用 keyCode 35。进入 jScrollPane 的未缩小源代码(网址如下)页面,搜索 35。

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

于 2013-01-10T06:29:08.077 回答
0

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

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

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

于 2013-01-10T06:23:03.270 回答