2014-02-13 138 views
0

我正在使用jQuery將我的CSS下拉菜單轉換爲支持觸摸的菜單。我遇到的問題是,我有父李的行爲停止使用e.preventDefault(),我似乎無法弄清楚如何讓孩子李的功能正常。這裏是我使用的代碼:e.preventDefault()後激活子菜單鏈接

if ("ontouchstart" in window || navigator.msMaxTouchPoints) { 
    $('#menu > li:has(ul.sub-menu)').click(function (e) { 
     e.preventDefault(); 
     $('#menu > li > a.sub-menu').toggle(300); 
     $('#menu > li > ul > li > a').trigger('click'); 
    }) 
} 

保持主li不會經過並切換子菜單的功能完美地工作。我現在只需要點擊子菜單a就可以了。

+1

傳播是什麼的'$目的( '#菜單> LI> UL> LI> A')的觸發器( '點擊');' –

回答

0

停止從這些錨定元件

if ("ontouchstart" in window || navigator.msMaxTouchPoints) { 
    $('#menu > li:has(ul.sub-menu)').click(function (e) { 
     e.preventDefault(); 
     $('#menu > li > a.sub-menu').toggle(300); 
     $('#menu > li > ul > li > a').trigger('click'); 
    }) 
    $('#menu ul.sub-menu a').click(function (e) { 
     e.stopPropagation(); 
    }) 
} 
+0

目的觸發線的點擊是激活鏈接。應該刪除? – McCoy

+0

激活鏈接是什麼意思?也是否停止傳播解決您的問題 –

+0

允許鏈接被遵循。是停止傳播的作品,但我想知道我是否需要觸發線? – McCoy