gpt4 book ai didi

jquery - 在 die() 之后使 jQuery live ('click' ) 复活

转载 作者:行者123 更新时间:2023-12-01 00:57:48 24 4
gpt4 key购买 nike

我有一个分配给日历上单击事件的函数 - 我需要 live() 中的单击事件,因为标准 .click() 不会绑定(bind)自身当您在日历中切换月份时新显示的日期 - 这会根据所选的日历日期触发一些 AJAX。

我需要阻止用户在前一个请求完成之前触发更多 AJAX,因此通过立即使用 .die('click') 解除点击监听器的绑定(bind)来实现此目的。但是,我无法使用 $('.eventWrap').live('click') 从其内部出现的 eventWrap 单击监听器再次恢复生命。

我的问题有解决办法吗?

$('.eventWrap').live('click', function() {
$('.eventWrap').die('click');

do ajax stuff

//bring the .eventWrap click listener back to life
//$(.eventWrap).live('click'); does not work as I had hoped

}

最佳答案

您可以简单地在点击中添加一个类,并且仅在该类不存在时才执行ajax

$('.eventWrap').live('click', function() {
if( ! $('.waitingForAjax').length ){
$('.eventWrap').addClass('waitingForAjax');

do ajax stuff- use removeClass() within the ajax success handler
} else{
alert('Waiting for last ajax to complete');
}
});

如果使用 jQuery 1.7,请使用 on() 而不是 live()

关于jquery - 在 die() 之后使 jQuery live ('click' ) 复活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10876185/

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