我正面临jQuery多选的冗余问题
这是我的代码:
<div id="1">
<div id="2">
<div id="3">
</div>
</div>
</div>
<script>
$("#1,#2,#3").on('click', function()
{
alert("my message");
});
<script>
如果我点击"3",我将有3次"我的消息"如果我点击"2",我将有2次"我的消息"如果我点击"1",我将有1次"我的消息"
但是,我希望我点击的任何div,我只有1次"我的消息"
感谢您的帮助
您需要停止事件传播到子元素:
$("#1,#2,#3").on('click', function(e){
e.stopPropagation();
alert("my message");
});
我们也应该使用简单的return false。
$("#id1,#id2,#id3").click(function(e){
alert($(this).attr('id'));
return false;
});