Jquery停止加粗,下划线和其他事件

时间:2012-08-23 13:57:01

标签: javascript jquery html events javascript-events

我有这个jsFiddle:http://jsfiddle.net/RGmNz/6/

并尝试停用 CTRL + B CTRL + U 等...

          $("iframe").contents().find("body").keydown(function(a,b){

                if(a.which ==32 && a.ctrlKey){
                    a.preventDefault(); 
                   }
            });
        })

但它仍然大胆的文字!

2 个答案:

答案 0 :(得分:3)

你需要做的是return false;使用键码代码我总是发现,当你试图禁用某些事件时,你只需要返回false并完全停止发生所有事情。 (它会为你做阻止默认和停止传播)

还注意到了这一点:info on keycode #'s

    // you want to do 66 (B)
    // with && since you're looking for both events simultaneously

    if (a.which === 66 && a.ctrlKey) {  
       return false;
    }

jsFiddle DEMO

答案 1 :(得分:3)

如果你进行两项修改,它会起作用:(1)对b使用正确的密钥代码,即66而不是32,以及(2)添加对.stopPropagation()的调用:

if (a.which == 66 && a.ctrlKey) {
    a.preventDefault();
    a.stopPropagation();
}

演示:http://jsfiddle.net/RGmNz/7/

或者你可以return false相当于.preventDefault().stopPropagation()