最近做项目有个问题一直困扰了我很久了,今天灵机一动搞定了,就是jQuery的click事件我调用ajax后就不能二次点击了,本次做的是某个商品的启用和禁用,本来是用ajax调用后台程序,成功后局部刷新,之前搞了好久,就是不能二次点击,除非刷新页面……
这里附上我的代码:
$(".edit-status3").click(function(){
$.ajax({
type:"post",
data:{classify_id:$(this).attr("data-classify_id")}, //获取商品id
url:"{:U('Admin/Article/ajaxStatus3')}", //调用后台方法
dataType:"json",
success:function(data){ //data是后台方法执行后的返回值
if(data.status==1){
$("#table-info").load(location.href+" #table-info"); //这里是第一次用的局部刷新
//window.location.reload(); //刷新当前页面(这是最新加的刷新页面,自动执行完就可以二次点击了)
}
}
});
});
/*最新补充,不能点击的原因是因为我的新增点击元素是动态新增的,所以需要重新绑定点击事件,如下:*/
$("body").on("click",".edit-status3",function(){
$.ajax({...}); //ajax代码不变,原封不动的copy下来就ok
});
以下总结了一些常用的前端刷新页面的方法:
<a href="javascript:" onclick="history.go(-2); ">返回前两页</a>
<a href="javascript:" onclick="self.location=document.referrer;">返回上一页并刷新</a>
<a href="javascript:" onclick="history.back(); ">返回上一页</a>
<a href="javascript:history.go(-1)">返回上一页</a>
<a href="javascript:location.reload()">重载页面,本地刷新</a>
<a href="javascript:history.go(-1);location.reload()">返回上一页重载页面,本地刷新</a>
<a href="javascript:window.stop()">停止跳转</a>
停止跳转:IE浏览器用document.execCommand("Stop"),Chrome和Firefox用window.stop()
返回上一页:window.history.go(-1);
本地刷新: window.location.reload();
局部刷新(“#table_table”是需要刷新的框架id):$("#content_table").load(location.href+" #content_table");
跳转页面:window.location.href = 'www.yoursite.com';