我想在输入键的文本字段上使用jquery触发按键事件。我目前正在这样做:
var key = jQuery.Event('keypress');
key.keyCode = $.ui.keyCode.ENTER;
$('#txtb').trigger(key);
它在firefox上成功触发事件但在Chrome和IE上失败。
当我在调用函数中捕获键时,它在Chrome中显示为undefined但在Mozilla中运行正常。
非常感谢任何帮助或建议。
答案 0 :(得分:2)
你可以尝试这个代码
$('#txtb').trigger( "keypress", [13] );
答案 1 :(得分:1)
您可以尝试event.which
JQuery将其规范化以实现跨浏览器的一致性:
对于键或鼠标事件,此属性指示按下的特定键或按钮。
$('html').on('keyup', function(e){
if (e.which == 13) { // if "enter" key is pressed
var e = jQuery.Event("keypress", { keyCode: 64 }); // you can specify your desired key code
$('#txtb').trigger(e); // or $('#txtb').trigger("keypress")
}
})
答案 2 :(得分:0)
这样做: -
$('#txtb').keydown(function(e) {
if (e.keyCode == 13)
alert('Handler for .keydown() called.');
});
参考 LIVE DEMO
答案 3 :(得分:0)
这适用于触发特定的键盘按键。
var e = $.Event("keypress"); /* || keydown || keyup */
e.which = 65; /* set the key code here */
$(selector).trigger(e);