gpt4 book ai didi

jQuery:防止事件被附加多次?

转载 作者:行者123 更新时间:2023-12-01 06:08:23 24 4
gpt4 key购买 nike

本质上,我有一个元素FOO,我希望在单击它时将单击事件附加到一组完全独立的元素BAR,这样当它们被单击时他们可以将 FOO 恢复到以前的内容。我只想将此事件附加一次。

当点击 FOO 时,其内容会缓存在 $back_up 中,并在 BAR 集上添加一个触发器,以便当单击它们可以将 FOO 恢复到之前的状态。有什么聪明的方法可以做到这一点吗?如果事件尚不存在,则仅使用 .bind() 吗?

$('<div class="noprint little check" />').click( function () {
var $warranty_explaination = $(this).closest('.page').children('.warranty_explaination');

var $back_up = $warranty_explaination.clone(true);
$(this).closest('.page').find('.warranties .check:not(.noprint)').click( function () {
/* This is the code I don't want to fire more than once */
/*, I just want it to be set to whatever is in the $back_up */
alert('reset'); $warranty_explaination.replaceWith( $back_up )
} );

$warranty_explaination.html('asdf')

} )

目前,我能想到的最好方法是附加一个类,然后选择该类不存在的位置。

最佳答案

除非我误解了,否则我认为您正在寻找 one绑定(bind)事件的函数。它就像 bind 一样,只不过它会在第一次调用后删除处理程序。

或者,您可以将标志存储在 .data 中并在您的点击处理程序中查找它。

关于jQuery:防止事件被附加多次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2959949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com