寫了一個左側導航的菜單,父菜單元素爲li,子節點元素也爲ul>li,當給父節點的li綁定click事件執行toggle()函數時,發現點擊子節點的li標籤也會執行toggle函數。由此造成事件冒泡。
解決方法:
在綁定click事件的函數後添加return false即可解決事件冒泡的問題,代碼如下:
$('.api_left').find('li').live('mouseover',function(){ //父節點li
$(this).css('cursor','pointer');
}).live('mouseout',function(){
$(this).css('cursor','');
}).live('click',function(){
$(this).find('>ul').toggle();
return false; //解決事件冒泡
});
<div class = "api_left">
<ul>
<li>
<span style="vertical-align:top;">平臺介紹</span>
<ul style="display:none;"> <!--子菜單-->
<li><a>平臺描述</a></li>
<li><a>平臺描述</a></li>
</ul>
</li>
</ul>
</div>