以下の例のような関数でクリックイベントリスナーを使用することをお勧めしますか?あなたの目的は、「クリックのイベントハンドラをアタッチする場合パラメータを含む関数内にイベントリスナーを追加することをお勧めしますか?
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");
それは間違っていないのですが、それは簡単にミスにつながることができます。私はあなたが関数を繰り返し呼び出す場合でも、あなたが関数を呼び出すことができるように、 '$(triggerBtnClass).off(" click.namespace ")。on(" click.namespace "、function(e){...});イベントリスナーは1つだけ追加されます。 –