我在Opera中遇到了keydown和keyup事件的问题。出于某种原因,这在Opera中无所作为:
// add submit event for pressing enter
$(".select2-input").each(function (counter, element) {
$(element).keydown(function (event) {
console.log("key down");
if (!event) event = window.event;
var keyCode = event.keyCode || event.which;
if(keyCode == '13' /* enter key */ ) {
console.log("press enter");
}
});
});
我尝试过使用keyup,但这也无效。在Chrome和Firefox中,它运行良好。如您所见,代码的实际用途是检测回车键。但是,任何关键都没有输出。我已经看到了其他只涉及Opera中的向下键的问题,但这显然是别的。
感谢您的帮助!
答案 0 :(得分:1)
好的,我现在明白了。
我使用了Hugos的答案,但是将事件更改为keyup
,现在它在所有浏览器中都运行得很好(虽然IE我还没有测试过。)
$(document).ready(function(){
$(document).on("keyup",".select2-input", function (event) {
console.log("key up");
if (!event) event = window.event;
var keyCode = event.keyCode || event.which;
if(keyCode == '13' /* enter key */ ) {
console.log("press enter");
}
});
});
非常感谢!
答案 1 :(得分:0)
之前有过这个和Oper的错误,但现在应该修复。这可能会有所帮助:http://quirksmode.org/dom/events/不确定您使用的是哪个版本,等等。
答案 2 :(得分:0)
尝试更改您的代码:
$(document).ready(function(){
$(document).on("keydown",".select2-input",function(event){
console.log("key down");
if (!event) event = window.event;
var keyCode = event.keyCode || event.which;
if(keyCode == '13' /* enter key */ ) {
console.log("press enter");
}
});
});