2

我想使用一个仅执行一次特定函数的 jQuery 函数,但要与on jQuery 函数结合使用,因为元素尚未呈现。

所以,我需要以这种方式使用“on”函数来绑定未渲染元素的函数。

$(document).on('click',',myElement',function(){



});

如何实现“一个”功能以便仅在第一次单击元素时执行我的代码?

4

1 回答 1

1

.one()方法支持事件委托。这将意味着回调运行一次,而不是为每个匹配元素运行一次:

$(document).one('click', '.myElement', function() {
    // Do stuff
});

但是,如果您的意思是希望事件处理程序为与选择器匹配的每个元素执行一次,最简单的解决方案可能是在处理程序执行后向元素添加一些数据。然后,您可以检查该数据是否存在以确定是否继续使用事件处理程序:

$(document).on('click', '.myElement', function() {
    if (!$(this).data("done")) {
        // Do stuff
    } else {
        $(this).data("done", true);
    }
});
于 2012-10-31T10:44:08.530 回答