大佬教程收集整理的这篇文章主要介绍了如何取消jquery.load()?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有什么
…超时处理:
jQuery.fn.idle = function(time,postFunction){ var i = $(this); i.queue(function(){ setTimeout(function(){ i.dequeue(); postFunction(); },timE); }); return $(this); };
…初始化错误消息超时:
var hasImage = false; $('#errormessage') .idle(5000,function() { if(!hasImagE) { // 1. cancel .load() // 2. show error message } });
…图像加载:
$('#myImage') .attr('src','/url/anypath/image.png') .load(function(){ hasImage = true; // do something... });
我唯一无法想像的是如何取消运行的load()(如果可能的话)。
编辑:
对jQuery.ajax使用beforeSend选项并捕获xhr。然后,您可以创建回调,可以在超时后取消xhr,并根据需要进行回调。
这段代码没有测试,但应该让你开始。
var enableCallBACks = true; var timeout = null; jQuery.ajax({ .... beforeSend: function(xhr) { timeout = setTimeout(function() { xhr.abort(); enableCallBACks = false; // Handle the timeout ... },5000); },error: function(xhr,textStatus,errorThrown) { clearTimeout(timeout); if (!enableCallBACks) return; // Handle other (non-timeout) errors },success: function(data,textStatus) { clearTimeout(timeout); if (!enableCallBACks) return; // Handle the result ... } });
以上是大佬教程为你收集整理的如何取消jquery.load()?全部内容,希望文章能够帮你解决如何取消jquery.load()?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。