0

有人在这个jsfiddle中看到吗

为什么我没有得到按键中断?我在橙色框中得到一个单击中断,但如果我单击米色框然后按下键则没有中断。

谢谢

$(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");
    });

});
4

2 回答 2

2

您的beigeBoxdiv 不是contenteditable,因此不能keydown在其上注册任何事件。#orangeBox div另一方面,您包含一个click处理程序,它确实注册(因为div是可点击的)。

这是一个演示,您beigeBox将在其中注册 a keydown,因为contenteditable已启用:http: //jsfiddle.net/tymeJV/36Tfx/3/

于 2013-08-29T22:08:44.883 回答
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");

    });
于 2013-08-29T22:27:46.660 回答