触发文本字段上的按键事件

时间:2012-07-11 12:30:40

标签: jquery

我想在输入键的文本字段上使用jquery触发按键事件。我目前正在这样做:

var key = jQuery.Event('keypress');
key.keyCode = $.ui.keyCode.ENTER;
$('#txtb').trigger(key);

它在firefox上成功触发事件但在Chrome和IE上失败。

当我在调用函数中捕获键时,它在Chrome中显示为undefined但在Mozilla中运行正常。

非常感谢任何帮助或建议。

4 个答案:

答案 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")
   }
})

DEMO

答案 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);