我有这个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();
}
});
})
但它仍然大胆的文字!
答案 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;
}
答案 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()
。