首页 > 解决方案 > 如何将click事件的回调与keydown事件的回调结合起来?

问题描述

在编写代码时,我注意到我在两个回调函数中重复了两次相同的代码:

document.querySelector(DOM.usernameInput).addEventListener("keydown", e => {
  if (e.keyCode === 13) {
    e.preventDefault();
    UI.events.form.password.show();
  }
});
document.querySelector(DOM.next).addEventListener('click', (e)=>{
    e.preventDefault();
    UI.events.form.password.show();
});

我试图编写一些算法来实现这个目标,但我仍然无法达到那个目标。

标签: javascript

解决方案


引入一个新函数并将通用逻辑移至该函数。

请看一看。

function showPassword(event) {
    event.preventDefault();
    UI.events.form.password.show();
}


document.querySelector(DOM.usernameInput).addEventListener("keydown", e => {
  if (e.keyCode === 13) {
   showPassword(e);
  }
});

document.querySelector(DOM.next).addEventListener('click', showPassword);

我希望这可以帮助你。


推荐阅读