多选择器冗余

时间:2016-04-08 11:02:02

标签: javascript jquery

我面临着jQuery多选择器的冗余问题

这是我的代码:

<div id="1">
    <div id="2">
        <div id="3">
        </div>
    </div>
</div>



<script>
$("#1,#2,#3").on('click', function()
{
    alert("my message");
});
<script>

如果我点击&#34; 3&#34;我将有3次&#34;我的消息&#34; 如果我点击&#34; 2&#34;我将有2次&#34;我的消息&#34; 如果我点击&#34; 1&#34;我将有1次&#34;我的消息&#34;

但是,我希望我点击任何div,我只有1次&#34;我的消息&#34;

谢谢你的帮助

2 个答案:

答案 0 :(得分:4)

您需要停止事件传播到子元素:

$("#1,#2,#3").on('click', function(e){
   e.stopPropagation();
   alert("my message");
});

答案 1 :(得分:0)

我们应该只使用return false。

$("#id1,#id2,#id3").click(function(e){
    alert($(this).attr('id'));
    return false;
});