javascript - 如何在不使用 jQuery 的情况下为两个不同的按钮添加一个单击事件处理程序?

标签 javascript html

当用户打开模态框时,有两种方法可以关闭它,一种是按框右上角的“x”,另一种是按取消按钮。这两个按钮都在相同的类名 modal-hide 中,但也有 modal-closemodal-cancel 的 id。

var cancel = document.getElementById('modal-cancel');
var close = document.getElementById('modal-close');

cancel.onclick = function () {
    //close window
}
close.onlick = function () {
    //close window
}

实现事件处理程序的最佳方法是什么,这样我就不必编写两个执行相同操作的不同 onclick 函数?

我根本不想为此使用 jQuery!

最佳答案

首先,不要使用事件属性!使用 addEventListener ( MDN ) 作为现代标准。然后你应该定义一个单独的处理函数(比如 onClick)来将它与你的元素绑定(bind):

var cancelElt = document.getElementById('modal-cancel');
var closeElt = document.getElementById('modal-close');
var onClick = function () {
  alert('Hello!');
};

cancelElt.addEventListener('click', onClick);
closeElt.addEventListener('click', onClick);

关于javascript - 如何在不使用 jQuery 的情况下为两个不同的按钮添加一个单击事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46858697/

相关文章:

javascript - Polymer:firebase-collection 始终返回空数组

javascript - 单击按钮时视频不自动播放

javascript - 如何将 Prop 传递给样式化组件中的基础组件?

javascript - 如何使用jquery获取div中的特定文本

javascript - (JavaScript) data.split ('\n' ) 不是一个函数

javascript - HTML5 pushState Clash w/Angular UI-Router URL 路由

dom - html5 元素重复自身错误

javascript - 删除javascript中的div

php - style.css 不影响新页面模板

javascript - 可以将自定义图标添加到 font-awesome-react