我面临着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;
谢谢你的帮助
答案 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;
});