2015-03-08 47 views
0

我有一個無序列表中的列表項目,通過jQuery點擊事件調用函數。問題是李正在調用它的函數,然後調用父UL函數。我只是想調用我用id來引用的函數。這是一個親子問題嗎?無序列表中的Jquery函數

<ul id="mainlist"> 
    <li id="item1">list1</li> 
    <li id="item2">list2</li> 
</ul> 

jQuery的

$("#mainlist").click(function { 
    someFunction(); 
    }); 
$("#item1").click(function { 
    someOtherFunction(); 
}); 

回答

4

您只需將傳播到它的祖先停止事件:

$("#item1").click(function (event) { 
    event.stopPropagation(); 
    someOtherFunction(); 
}); 

或者,你可以檢查點擊元素(event.target),看看是否這是<ul><li>通過檢查其id財產:

$("#mainlist").click(function (event) { 
    switch (event.target.id) { 
     case 'mainlist': 
      someFunction(); 
      break; 
     case 'item1': 
      someOtherFunction(); 
      break; 
     default: 
      break; 
    } 
}); 

參考文獻:

+0

它工作!非常感謝! – Jotter 2015-03-08 17:06:01

+0

我檢查了文檔並嘗試了返回false選項,這也起作用。 – Jotter 2015-03-08 17:13:43

+0

我很高興有幫助! :) – 2015-03-08 17:15:04