我无法让以下内容在我的项目中工作。
我目前在整个代码库中都有几个对方法的调用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()
orload()
调用时,即使不直接将内容加载到 dom 元素中,事件也会触发#cart
asevent.target
有谁知道如何解决这个问题?我想执行一些代码,只有在调度 ajax 调用时才会将其内容加载到#cart
PS:我知道这ajaxSend
是 jquery 中的全局 Ajax 事件之一,但它应该以某种方式从处理程序派生事件的上下文不是吗?
演示:http: //jsfiddle.net/cWRwf/1/