我动态显示多个按钮,当我点击一个按钮时,我只想做一次事件,所以当事件完成后如果我点击任何按钮我什么都不做。
这是我的代码。当我尝试它时,它适用于每个按钮,所以如果我有3个按钮,我可以做3个事件,我只想要1个:
$('.btnSupp').one("click", function(){
if ($('.btnSupp').is("btn-danger")) {
} else {
var r = $('<a href="#">Enregistrer</a>');
$("body").append(r);
}
});
答案 0 :(得分:1)
尝试off
我还修复了一个类选择器并删除了不必要的if并使其指向单击的按钮
如果委派:
$(document).on("click", '.btnSupp', function(){
if (!$(this).is(".btn-danger")) {
var r = $('<a href="#">Enregistrer</a>');
$("body").append(r);
}
$(document).off("click", '.btnSupp')
});
如果不是
$('.btnSupp').on("click", function(){
if (!$(this).is(".btn-danger")) {
var r = $('<a href="#">Enregistrer</a>');
$("body").append(r);
}
$('.btnSupp').off("click")
});
如果您想要非常具体,请使用Kaddath建议的命名函数,并在文档链接中显示:
function enri(){
if (!$(this).is(".btn-danger")) {
var r = $('<a href="#">Enregistrer</a>');
$("body").append(r);
}
$(document).off("click", '.btnSupp', enri);
}
$(document).on("click", '.btnSupp', enri);
答案 1 :(得分:0)
您可以使用off
取消关联点击事件。 .off()
方法会删除附加了.on()
的事件处理程序。
从
更改您的代码$('.btnSupp').on("click", function(){
if ($('.btnSupp').is("btn-danger")) {
} else {
var r = $('<a href="#">Enregistrer</a>');
$("body").append(r);
}
});
以强>
$('.btnSupp').on("click", function1);
function1(){
if ($('.btnSupp').is("btn-danger")) {
} else {
var r = $('<a href="#">Enregistrer</a>');
$("body").append(r);
}
//stop listening to function1 but will listen for other function
$('.btnSupp').off("click", function1);
}