Jquery 为div禁用keydown

Jquery 为div禁用keydown,jquery,keydown,keycode,Jquery,Keydown,Keycode,如何禁用特定div的keydown?我尝试过的所有选项都使我的div不再接受任何键。我想为我的div禁用的键是1和2 在这里,我列出了每个键的作用: $(document).keydown( function(e) { var press= ""; if ( boolKeyDepressed ) return; else

如何禁用特定div的keydown?我尝试过的所有选项都使我的div不再接受任何键。我想为我的div禁用的键是1和2

在这里,我列出了每个键的作用:

    $(document).keydown( function(e)
            {
                var press= "";
                if ( boolKeyDepressed )
                    return;
                else
                    boolKeyDepressed = true;

        var e = e || window.event;
                var ltr = e.keyCode ? e.keyCode : e.charCode;

//            alert( "You pressed " + ltr );

                if ( ltr == 13 ) 
                {
                    event.preventDefault();
                }


                    switch(ltr)
                    {
                        case 49: // "1"
                        case 97: // "1"


                                FunctionHandleRsp("1") 
                               //does something with the value 1




                            break;

                        case 50: // "2"
                        case 98: // "1"



                        FunctionHandleRsp("2") 
                      // does something with the value 2


                    }
                }

//etc etc 
要为id为“myDiv”的div禁用它们,我添加了


但这些方法都不起作用。我把它们放在一个在屏幕上显示div的函数中。所有这些功能都是为我的所有div禁用keydown。

通常div不能有键盘输入焦点,因此它永远不会收到击键

您在文档上被击键。这里不涉及div。当通过文档接收按键事件时,您可能需要检查鼠标是否位于特定的div上。根据具体情况,您可以处理密钥事件

否则,如果将其属性设置为true,则可以直接通过div接收关键事件

没有可编辑内容的div不接受击键。选中切换此

中的
contentEditable
属性,然后尝试:

$(":not(#somediv, #somdiv *)").keydown(function(e) {
    ...
});

您要查找的是
event.stopPropagation()

实际上,您可以:因此必须设置element.contentEditable属性。必须检查焦点。@dreamlab:不一定。键事件还可以通过来自输入元素的div冒泡/传播。它可以在div中处理。这就是jQuery中事件委派的工作方式。它不必是可编辑的——热键不是这样做的吗;我还想补充一点,但从OP的问题来看,我认为div可以集中精力。很高兴听到这个消息。谢谢。:)
$("#myDiv").unbind('keydown');
$("#myDiv).keydown(function(event) { 
             return false;
                    });
$(":not(#somediv, #somdiv *)").keydown(function(e) {
    ...
});