2013-11-04 93 views
1

我正在使用ajaxSend钩住jQuery中的ajax请求。我想要做的是确定是否使用加载方法。所以,当这调用时...检测使用ajaxSend调用jquery ajax方法

$('.some-selector').load(url, {...}); 

我可以不同于常规的“$就”,“$不用彷徨”或“$。员额”呼叫处理。 有没有一种方法可以使用传递的事件xhr或ajaxSend调用中的选项来解决这个问题?

$(document).ajaxSend(function (event, xhr, options) { 
    //Do something here to figure out if 'load' method was used 
    //And also determine what element(s) it was called against 
}); 
+0

如果有任何方法可以说,我会感到惊讶,因为'.load'只是内部调用'.ajax'。快速浏览一下'load'的来源并没有提供任何识别信息。 –

回答

1

只要覆盖load

jQuery.fn.load = (function (jqLoadFn) { 
    return function() { 
     console.log('intercepted'); 

     return jqLoadFn.apply(this, arguments); 
    }; 
})(jQuery.fn.load); 
+0

我在想这是一个选项,但不确定是否有不同的解决方案。感谢您的意见,我会看看它是怎么回事 – giovanMusk

+0

@giovanMusk我不认为有任何其他方式。 – plalx