我要在按钮和Enter键上附加一个submit()
。在新的页面上,它们都附加并正常运行submit()
一次。单击事件运行后,仅 出现问题,然后按键事件开始运行submit()
两次,而不是两次,而单击继续正常响应。
我觉得我之前已经做过这件事,并且在通过一些getSubmit()
实现if()
或返回了某些东西之后解决了(或者错过了),但是我觉得这应该可行。
var bindCtrlr = (function() {
var submit = () => console.log('hi')
document.querySelector('.add__btn').addEventListener('click', submit, false)
document.addEventListener('keypress', function(e) {
if (e.keyCode === 13 || e.which === 13) {
submit()
}
}, false)
})()
单击submit()
或按Enter键后,.add__btn
应该始终 运行一次。
答案 0 :(得分:0)
它触发两次的原因是因为在输入时也会触发按钮单击事件。但是,如果单击后焦点仍然位于按钮上,它只会触发两次。当焦点不在按钮上时,它将仅触发一次。希望对您有帮助。