我只想知道在下面的例子中的函數中使用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」)。只會添加一個事件偵聽器。 –