用jquery做了个验证用户名是否注册过的小例子,数据什么的都可以正常返回,但是就是首次运行页面的时候,ajaxStart不执行!不刷新页面,再次触发事件,ajaxStart就正常执行了!这是怎么回事啊!
$(".n").blur(function(){
$.post("Check",{name:$(this).val()},function(data){
$("#check").html(data);
});
$(".ajax_img").bind("ajaxStart",function(){
$(this).removeClass("ajax_img");
});
$(".ajax_img").bind("ajaxStop",function(){
$(this).addClass("ajax_img");
});
});
谢谢了!
$(".ajax_img").bind("ajaxStart",function(){ $(this).removeClass("ajax_img"); }); $(".ajax_img").bind("ajaxStop",function(){ $(this).addClass("ajax_img"); }); $(".n").blur(function(){ $.post("Check",{name:$(this).val()},function(data){ $("#check").html(data); }); });改成这样,不是图片的问题:oops:
是这样的,你那么写每次要调用blur的回调函数会对ajaxStart和ajaxStop两个事件的回调函数进行定义,所以第一次执行blur回调函数的时候那两个函数还没定义呢,当然不会执行
很简单,html里面image都是异步加载的,首次运行页面js你的image还没加载玩呢,写成load回调函数就可以了