jQuery-按键/KeyCode和回车键单击按钮功能
我现在正在学习jQuery,并且已经成功地使用下面的函数将键盘上的“回车”键连接到按钮上。虽然我不明白为什么我需要在函数参数中或if语句的开头添加任何内容 例如,为什么这样做有效:jQuery-按键/KeyCode和回车键单击按钮功能,jquery,html,Jquery,Html,我现在正在学习jQuery,并且已经成功地使用下面的函数将键盘上的“回车”键连接到按钮上。虽然我不明白为什么我需要在函数参数中或if语句的开头添加任何内容 例如,为什么这样做有效: $('#enter').keypress(function(event) { if(event.keyCode == 13) { $('button').click(); }; }); 但这并不是: $('#enter').keypress(funct
$('#enter').keypress(function(event) {
if(event.keyCode == 13) {
$('button').click();
};
});
但这并不是:
$('#enter').keypress(function() {
if(keyCode == 13) {
$('button').click();
};
});
以下是HTML:
<input id="enter" placeholder="Enter text"></input>
<button>Get Info</button>
显示简介
我正在努力理解这里“event”的意义。在第一个示例中,您正在向函数传递。触发事件时,
keyCode
是关联的event
对象上的属性。如果不传递事件
对象,则无法访问keyCode
属性,这就是第二个示例不起作用的原因
作为旁注,
input
元素没有结束标记
更改:
<input id="enter" placeholder="Enter text"></input>
致:
谢谢,我想让我困惑的是,我可以用任何东西代替“事件”,它仍然有效,例如,我可以将两个出现的“事件”改为“苹果”,它仍然有效。另外,感谢您对HTML:)@Wub的介绍,这是因为您可以随意命名参数(因为您正在传递它)。它可以作为e
,事件
等传递。。它仍然是相同的event
对象,因为这是触发事件时传递给函数的第一个参数。另外,关于你关于HTML的观点,由于我使用的是HTML5,这是否应该不带尾随斜杠来编写?@Wub由你决定。它在“void”元素(例如input
/img
元素)上完全有效,并且它将带有或不带有尾部斜杠。这只是个人喜好。有时你会看到斜杠被省略了。
<input id="enter" placeholder="Enter text" />