没有得到keydown中断

时间:2013-08-29 22:06:51

标签: jquery

有人在此jsfiddle

中看到了

为什么我没有得到keydown中断?我在橙色框中得到一个点击中断,但如果我点击米色方框然后点击一个键就没有中断。

由于

$(function () {
    $('#beigeBox').keydown(function(e) {                        
            console.log("In keydown handler");
            if(e.keyCode == 68) {  // 'D'
                console.log("Got 68");
            }
    });

    $('#orangeBox').click(function() {                      
            console.log("orangeBox clicked");
    });

});

2 个答案:

答案 0 :(得分:2)

您的beigeBox div不是contenteditable,因此无法在其上注册keydown个事件。另一方面,#orangeBox div包含click处理程序,该处理程序会进行注册(因为div可点击)。

以下是自beigeBox启用keydown以来contenteditable注册{{1}}的演示:http://jsfiddle.net/tymeJV/36Tfx/3/

答案 1 :(得分:0)

试试这个JSfiddle

代码:

$(function () {

    $('#beigeBox').keypress(function(event) {

        alert("In keydown handler");       

        if (event.which == 68) {

            event.preventDefault();
            alert("Got 68");
        }                   
    });

    $('#orangeBox').click(function() {

        alert("orangeBox clicked");

    });