jquery ajax 执行多次,jQuery ajaxStop()增加并多次触发

在发布之前,我已经阅读了很多东西,并试图让我能够使其工作。所以基本上我试图使用ajaxStop()作为一种钩子来完成所有其他jQuery ajax请求已被加载后做的东西,所以我可以操纵并添加更多。jQuery ajaxStop()增加并多次触发

但似乎当我使用ajaxStop()似乎执行我额外的请求多次添加...

现在有点试验和错误之后。我了解到这是因为在我的ajaxStop()函数中,我调用另一个ajax文章来获取点击数据后的数据,以填充弹出窗口。我需要这个点击事件处理程序在所有其他ajax加载后注册...因为如果我将它从ajaxStop()方法中取出,多重性错误消失,但是如果通过ajax刷新内容而不是click事件,再次注册。我很可能会出现这个错误,但可以使用一些帮助。现在已经很晚了,我的大脑受到了伤害,所以明天我会重新审视它。

jQuery('.content').one('ajaxStop', function() {

setInterval(doPopUpOptionsMenu , 1000);

return false;

});

doPopUpOptionsMenu内部是另一个Ajax调用来获取弹出选项的内容。

function doPopUpOptionsMenu() {

jQuery(".activity-popUpMenu").one('click',function(e) {

var activityId = jQuery(this).parent().attr('id').split('-');

//code to grab options and show the user the Options box.

jQuery("#optionsPopUpContainer").css({'display': 'block', 'position' :'absolute', 'top' : e.pageY , 'left' : e.pageX});

var myAjaxURL = "example.com";

var jqxhr = jQuery.post(myAjaxURL, { menuOptions : true, id : activityId[1] } , function($response) {

jQuery("#optionsPopUpContainer").html($response);

})

.success(function() { alert("second success"); })

.error(function() { alert("error"); })

.complete(function() { alert("complete"); });

});

jQuery(".activity_update").hover(

function(){

jQuery(this).children('.activity-popUpMenu').addClass('activated');

} ,

function() {

jQuery(this).children('.activity-popUpMenu').removeClass('activated');

//jQuery(".activity-popUpMenu").unbind('click');

});

}

现在在第一次点击时会弹出两次警告,因为它应该一次成功,一次完成。比我再次点击弹出选项,它弹出四个警告比八比16,并保持倍增弹出窗口。就像我说的我想象这是由于ajaxStop调用内的ajax,但我怎么能绕过它或做更好的事情?

2012-05-04

Pengume

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值