我只想知道在下面的例子中的函数中使用click事件监听器是否是好的做法。 (不要试图理解的代码做什么,我只是想表明的情况的一个例子,其中一个click事件是在一个函数)在包含参数的函数中添加事件侦听器是否是一种好的做法?
function someFn(classClickedBtn, popupId) {
$(classClickedBtn).click(function(e) {
e.preventDefault();
var active = "active";
var mainClass = ".dialogBox";
if ($(popupId).hasClass(active)) {
$(popupId).removeClass(active);
}else{
for (var i = 0; i< $(mainClass).length; i++) {
if ($(mainClass).hasClass("active")) {
$(mainClass).removeClass("active"); } }
$(popupId).addClass(active);
}
});
}
someFn(".btn1", "#popup");
someFn(".btn2", "#popup");
这没有错,但它可以很容易导致错误。 ('click.namespace',function(e){...});'以确保即使您重复调用该函数,也可以使用$(triggerBtnClass).off(“click.namespace”)。只会添加一个事件侦听器。 –