Javascript jQuery按键事件触发器在页面加载时不工作
我试图在页面加载时模拟输入的enter键,但它似乎不起作用。我只在单击输入并按enter键时才发现成功。我希望在页面加载时看到警报 如果您更改我在下面列出的顺序,则会发出警报,但按下的键未定义 你知道我哪里做错了吗 请参见此处的演示- HTMLJavascript jQuery按键事件触发器在页面加载时不工作,javascript,jquery,html,Javascript,Jquery,Html,我试图在页面加载时模拟输入的enter键,但它似乎不起作用。我只在单击输入并按enter键时才发现成功。我希望在页面加载时看到警报 如果您更改我在下面列出的顺序,则会发出警报,但按下的键未定义 你知道我哪里做错了吗 请参见此处的演示- HTML 您必须颠倒顺序,并将数据分配给jQuery版本上的事件对象: $('#test').keypress(function(e) { alert(e.keyCode); }); var event = jQuery.Event('keypress');
您必须颠倒顺序,并将数据分配给jQuery版本上的事件对象:
$('#test').keypress(function(e) {
alert(e.keyCode);
});
var event = jQuery.Event('keypress');
event.keyCode = 13;
$('#test').trigger(event);
如注释中所述,只需更改顺序并将keycode更改为keycode,如下所示 注意:请注意代码中的大写而不是小写 $“测试”。按键功能{ 警报e.keyCode; }; $'test'.triggerjQuery.Event'keypress',{keyCode:13};
这是一个重复的问题。。。请参阅以下答案:在定义事件之前,您正在触发该事件。只需更改顺序即可。如果更改顺序,@Ibu可能会重复,那么它会发出警报,但按下的键未定义。您的小提琴使用的是jQuery 1.4.2,文档说明:从jQuery 1.6开始,您还可以将对象传递给jQuery。事件及其属性将在新创建的事件对象上设置。
$('#test').trigger(jQuery.Event('keypress', { keycode: 13 }));
$('#test').keypress(function(e) {
alert(e.keyCode);
});
$('#test').keypress(function(e) {
alert(e.keyCode);
});
var event = jQuery.Event('keypress');
event.keyCode = 13;
$('#test').trigger(event);