由于还没有人用过addEventListener
,这里是我的版本。鉴于元素:
<input type = "text" id = "txt" />
<input type = "button" id = "go" />
我会使用以下内容:
var go = document.getElementById("go");
var txt = document.getElementById("txt");
txt.addEventListener("keypress", function(event) {
event.preventDefault();
if (event.keyCode == 13)
go.click();
});
这允许您分别更改事件类型和操作,同时保持 HTML 干净。
请注意,确保这在 a 之外可能是值得的,<form>
因为当我将这些元素包含在其中时,按 Enter 提交了表单并重新加载了页面。我眨了几眼才发现。
附录:感谢@ruffin 的评论,我添加了缺少的事件处理程序和 apreventDefault
以允许此代码(大概)也在表单内工作。(我将开始对此进行测试,届时我将删除括号内的内容。)