Javascript 键控事件上的preventDefault()不起作用

Javascript 键控事件上的preventDefault()不起作用,javascript,jquery,google-chrome,internet-explorer-8,Javascript,Jquery,Google Chrome,Internet Explorer 8,我无法使preventDefault()工作 以下是我尝试过的一些不同的代码变体: 第一: $(document).keyup(function (evt) { var charCode = (evt.which) ? evt.which : event.keyCode; if (charCode == 192) { alert('192'); return false; } }); 第二: $(document).keyup(funct

我无法使
preventDefault()
工作

以下是我尝试过的一些不同的代码变体:

第一:

$(document).keyup(function (evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode;
    if (charCode == 192) {
        alert('192');
        return false;
    }
});
第二:

$(document).keyup(function (evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode;
    if (charCode == 192) {
        alert('192');
        evt.preventDefault();
    }
});
第三:

$(document).keyup(function (evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode;
    if (charCode == 192) {
        alert('192');
        evt.preventDefault();
        return false;
    }
});
只有警报有效。
Opera上的所有功能都可用,但Chrome和IE上则不行 还尝试了
keydown
keypress
。 在
按键时
脚本不起作用。
$('#thetext').keydown(函数(evt){})这两者都不起作用
以下是完整的代码:


我正在尝试插入一些文本或符号,而不是“

收听
keyup
事件对于调用
preventDefault
来说太晚了,请尝试收听
keypress
keydown

$('input[type=text], textarea').on('keydown', function(event){
    if (event.which == 192) {
        console.log('192');
        event.preventDefault();
    }
});
请注意,jQuery规范化了
属性及其跨浏览器


没有
.keyup()的默认行为;它在按键后触发默认行为。使用
.keydown()或
.keypress()`代替

来源:

参见此处的工作示例

在您使用的所有三个示例中

$(document).keyup(function (evt) {  });
我会说使用特定的divid而不是
$(document).keyup(function(evt){})

$(“#DivIdName”).keyup(函数(evt){})
也可以使用
onkeypress
严格来说,因为如果您使用
onkeyup

它已经执行了默认的打印任务或其他任何任务。

您使用的是JQuery,它使浏览器之间的差异正常化,因此您只需要检查evt.which属性。请参阅JQuery文档:


正如其他人所说,keyup太晚了,无法停止对密钥的处理。改为使用向下键或按键

请缩进代码以便可读。非常感谢。哪个键是
192
?按下此键时的默认行为是什么?您想做什么?停止keyup事件将实现什么?我正在尝试插入一些符号,而不是“您需要捕获
keydown
事件。”。。当触发
keyup
时,字符可能已经被写入手动检查
事件。e.isDefaultPrevented()
和进程。在很多情况下,它会更简单。不过,你知道如何在Android浏览器上使用按键功能吗?Keydown和keypress如果不能在所有平台上工作,就不是很有用。。。
$(document).keyup(function (evt) {  });