ajax回调函数动态加载的标签里面js事件不执行?
$("#loginAfter").html('<ahref="javascript:void(0)"id="layoutBefore">注销登录</a>');这一段是aj...
$("#loginAfter").html('<a href="javascript:void(0)" id="layoutBefore">注销登录</a>');这一段是ajax执行成功后,动态加入的,我又写了一个登出的功能:
//登出
$("#layoutBefore").click(function(){
if(confirm("确认退出")){
$.ajax({
url:"layoutLogin.html",
type:"post",
success:function(data){
location.reload(true);
}
});
}
但是为什么点击 注销登录没反应, 展开
//登出
$("#layoutBefore").click(function(){
if(confirm("确认退出")){
$.ajax({
url:"layoutLogin.html",
type:"post",
success:function(data){
location.reload(true);
}
});
}
但是为什么点击 注销登录没反应, 展开
2个回答
展开全部
如果你的jquery版本是1.9以前的
$("#layoutBefore").live('click', function(){
...
});
1.9以后的
$(document).on('click', "#layoutBefore", function(){
...
});
追问
真是这样!为什么我那样不行呢?
追答
原因在你为$("#layoutBefore")添加click事件处理程序时,$("#layoutBefore")还没有加载到页面中,所以会丢失绑定,可以绑定到祖先元素,live表示密切监视浏览器,当被点击元素与选择元素匹配的时候,才执行处理程序,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询