我有两个按钮,我想要的是无论点击哪一个,该功能只能执行一次。所以这就是我尝试过的,但是它不起作用,因为如果我按下#first
按钮并且它运行一次该功能,但是如果按#second
按钮它再次运行该功能。显然,one()
就是这样的。
$('#first, #second').one('click', function(e) {
dosomething();
})
这实际上是应该做的,请有人指出我正确的方向。谢谢!
答案 0 :(得分:4)
然后.one()
限制处理程序每个元素最多执行一次。因此预期的行为
您可以使用.off()
删除事件处理程序
$('#first, #second').one('click', function(e) {
$('#first, #second').off('click');
})
答案 1 :(得分:3)
使用.off()(例如
)调用clickhandler后,可以取消绑定
$("#first, #second")
.on("click.onlyonce", function(e) {
console.info("click");
// do whatever
$("#first, #second").off("click.onlyonce");
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="first">First</button>
<button id="second">Second</button>
&#13;