对于类的所有元素,只绑定一次处理程序

时间:2014-04-07 12:42:04

标签: jquery

如何将click事件绑定到类.myclass,以便处理程序仅对所有.myclass元素执行一次,如果用户单击另一个.myclass元素则不再执行。

$('.myclass').one('click', function() {...});

将每个.myclass元素执行一次处理程序,但我需要为所有.myclass元素执行一次处理程序。

由于

2 个答案:

答案 0 :(得分:6)

首次点击时删除事件处理程序

$('.myclass').on('click.custom', function () {
    $('.myclass').off('click.custom');

    // do stuff

});

使用namespaced events可确保仅删除该处理程序,而不删除其他点击处理程序。

FIDDLE

答案 1 :(得分:0)

您可以使用the delegated form of one()

$(document).one("click", ".myclass", function() {
    // ...
});

我修改了adeneo's fiddle来证明这一点。