mel*_*lon 3 javascript ajax jquery
我有两个点击事件,其中一个有一个ajax调用,为了clairty,这可能是点击事件A.我有另一个点击事件,让我们调用这个点击事件B.
我注意到如果我一直快速点击A多次然后点击B,事件就会排队,即使事件B执行完毕,A的ajax也会被调用.
当我点击BI时,希望所有ajax调用完全停止,这是从A执行的.
内部点击事件AI有:
$("A").live("click", function(event) {
var ajax_call = $.ajax({ /* Some code goes here */ });
});
$("B").live("click", function(event) {
/* Some code goes here */
ajax_call.abort();
});
Run Code Online (Sandbox Code Playgroud)
但上述方法无效.有没有办法可以清除A中积压的事件?
您面临的问题可能与称为闭包的概念有关.第二个回调无法访问第一个回调中的变量.解决方案可能如下:
var ajax_call;
$("A").live("click", function(event) {
ajax_call = $.ajax({ /* Some code goes here */ });
});
$("B").live("click", function(event) {
/* Some code goes here */
ajax_call.abort();
});
Run Code Online (Sandbox Code Playgroud)
对你起作用吗?
| 归档时间: |
|
| 查看次数: |
1521 次 |
| 最近记录: |