我想在输入键的文本字段上使用 jquery 触发按键事件。我目前正在这样做:
var key = jQuery.Event('keypress');
key.keyCode = $.ui.keyCode.ENTER;
$('#txtb').trigger(key);
它在 Firefox 上成功触发事件,但在 Chrome 和 IE 上失败。
当我在调用函数中捕获密钥时,它在 Chrome 中显示为未定义,但在 Mozilla 中运行良好。
任何帮助或建议将不胜感激。
我想在输入键的文本字段上使用 jquery 触发按键事件。我目前正在这样做:
var key = jQuery.Event('keypress');
key.keyCode = $.ui.keyCode.ENTER;
$('#txtb').trigger(key);
它在 Firefox 上成功触发事件,但在 Chrome 和 IE 上失败。
当我在调用函数中捕获密钥时,它在 Chrome 中显示为未定义,但在 Mozilla 中运行良好。
任何帮助或建议将不胜感激。
你能试试这个代码吗
$('#txtb').trigger( "keypress", [13] );
您可以尝试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")
}
})
这适用于触发特定的键盘按键。
var e = $.Event("keypress"); /* || keydown || keyup */
e.which = 65; /* set the key code here */
$(selector).trigger(e);
这样做: -
$('#txtb').keydown(function(e) {
if (e.keyCode == 13)
alert('Handler for .keydown() called.');
});
参考现场演示