jquery on方法无效

分秒 发布于 2015/10/26 14:46
阅读 2K+
收藏 0
<script src="jquery-1.11.3.js"></script>
<script language="javascript">
$(function(e){
	$(".a").click(function(e) {
        $(this).after('<div class="b">bbbb</a>');
    });
	$(".b").on('click', function(e) {
        alert('x');
    });
});
</script>
</head>

<body>
<p class="a">aaa</p>
</body>



为什么on无效呢?
加载中
0
Rudy
Rudy

 $(document).on("click",".b",function(){});动态dom需要委托

2
s
samliu0219

用 $(document).on("click",".b",function(){});

0
万恶的牛牛
万恶的牛牛
你这个是  $('.a') 时间生成的,, 还没初始化就掉用了$('.b') 页面上找不到  这个对象呢还
0
万恶的牛牛
万恶的牛牛
两种方法 一种是  把 js 写在 body  下面 ,  第二种是  加初始化加载$(function(){XXXXXXXXXXXXXXXX(你要写的事件)});
0
maradona
maradona
楼上正解,加载事件的时候.p并不存在,你得把事件委托到已经存在的节点上去
0
乾坤摄
乾坤摄
你的b 是在 a click后生成的,b的on 调用时,b还没有生成..
0
轻斜
轻斜

很早之前jquery是用live方法的,后来这方法废弃了,俺就不知道了.

0
分秒
分秒
统一感谢大家的回答
0
就是个精虫上脑的地方
就是个精虫上脑的地方
要用delegate吧 忘记是不是这个词了。。。
返回顶部
顶部