jQuery ajaxSend处理程序目标问题

时间:2012-10-19 06:47:55

标签: jquery ajax

我无法让以下内容在我的项目中工作。

我目前在我的代码库中有几个调用load()方法,例如:

$('#cart').load('/cart/user/12312');

我现在要做的是将一个监听器附加到#cart dom元素,当上面加载此元素的内容时,我可以执行一些代码来指示它的加载。 这就是我到现在为止所做的事情:

$('#cart').ajaxSend(function (event, xhr, settings) {
    if ($(event.target).is('#cart')){
        $(event.target).html('loading ...');
    }
});

我现在面临的问题是,此事件会触发所有ajax请求,甚至是那些没有#cart作为目标的请求。 event.target似乎总是#cart或我称之为.ajaxSend()的任何内容。即使执行完全不同的$.ajax()load()调用,即使不直接将内容加载到dom元素中,该事件也会以#cart <{1}}触发event.target

任何人都知道如何解决这个问题?我想执行一些代码,只有在调度ajax调用时才会将其内容加载到#cart

PS:我知道ajaxSend是jquery中的全局Ajax事件之一,但它应该以某种方式从处理程序no派生事件的上下文?

演示:http://jsfiddle.net/cWRwf/1/

0 个答案:

没有答案