2013-08-01 63 views
0
<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

event.stopPropagation();將防止冒泡的DOM事件:

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

謝謝老兄,有沒有辦法在地獄我就已經想到這一點,或者能夠google一下:) – user1534664