jquery .on容器元素附加到多个选择器

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)