触发两个元素,而只需要触发一个元素

时间:2013-08-01 20:29:08

标签: jquery mouseevent

<div class="subitems">
  <ul>
      <li id="China"></li> 
         <li id="India">
       India
       <div id="subitems">
         <ul>
            <li id="India/Sub Item 1">Sub Item 1</li>
            <li id="India/Sub Item 2">Sub Item 2</li>
            <li id="India/Sub Item 3">Sub Item 3</li>
            <li class="additem">+</li>
         </ul>
           </div>
         </li>
       <li>id="Austria"</li>
  </ul>
</div>

就像你期望的那样:

$('.subitems ul li').mousedown(function (event) {
    if (event.which == 3) {
        alert('right mouse clicked');
    }
});

是点击India/SubItem1时,印度<li>India/SubItem1 <li>都会被解雇,而我只想要India/SubItem1被解雇。当点击印度时,我只想让印度开火。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

event.stopPropagation();将阻止事件冒泡DOM:

$('.subitems ul li').mousedown(function (event) {
    event.stopPropagation();
    if (event.which == 3) {
        alert('right mouse clicked');
    }
});