evk*_*res 8 jquery onclick addeventlistener propagation
我.on()用来将点击事件附加到页面上动态显示的多个元素.我遇到的问题是,当我.on在页面上添加一个容器并想要将click事件附加到容器中的多个元素时,后者会覆盖前一个元素.
<div id="container">
<!-- elements here appear dynamically -->
<div id="id1"></div>
<div id="id1"></div>
</div>
<script>
$('#container').on("click", "#id1", function(){});
$('#container').on("click", "#id2", function(){});
</script>
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,只有id2的click事件有效.
有没有解决的办法?
谢谢,Ev.
Tat*_*nit 14
演示 http://jsfiddle.net/aRBY4/2/ 这里的改进很少 http://jsfiddle.net/aRBY4/5/
是的你id错了.:)
你正在使用相同的id,即id1两个元素.
希望这可以帮助,
码
有点改进的代码
$('#container').on("click", "#id1, #id2", function() {
alert($(this).prop('id')) // you can use --> attr('id')
});?
Run Code Online (Sandbox Code Playgroud)
要么
$('#container').on("click", "#id1, #id2", function() {
alert($(this).attr('id'))
});?
Run Code Online (Sandbox Code Playgroud)
要么
$('#container').on("click", "#id1", function(){alert('d1')});
$('#container').on("click", "#id2", function(){alert('d2')});?
Run Code Online (Sandbox Code Playgroud)