2016-11-11 131 views
0

我有一個帶下拉菜單的自定義菜單項。該菜單項沒有鏈接 - 它目前是空的(有或沒有'#'在這種情況下與我無關)。刪除帶有子菜單項的WordPress菜單項的點擊事件

這個商品有點擊事件WordPress加我認爲它有子菜單。有沒有選擇刪除這個?

指針事件,preventDefault,url中的void不起作用。我已通過jQuery手動刪除綁定,但它不是一個解決方案(沒有在觸摸設備上沒有懸停!)

導航

wp_nav_menu(
    array(
    'theme_location'=>'primary', 
    'depth' => 2 
) 
); 

CSS

.nav li ul { 
    display: none; 
} 

.nav li:hover ul { 
    display: block; 
    position: absolute; 
} 
+0

您是否嘗試過使用jQuery懸停?這應該能夠爲你解決它! –

+0

你瞭解這個問題嗎?這不是一個CSS問題。它的WordPress的菜單項添加子菜單添加某種默認切換。 –

+0

我希望我做到了,使用jQuery hove而不是CSS。 jQuery懸停作爲觸發器意味着不需要點擊下拉 –

回答

0

我一直在做的方式這是將子類添加到<li>,然後將該開放行爲僅應用於具有preventDefault()的該類,以禁止<a>標記表現得像鏈接一樣。

$('.doorknob > a').hover(function(e) { 
    e.preventDefault(); 
    $(this).parent().toggleClass('opened'); 
    $(this).parent().children('.children, .sub-menu').toggleClass('sub-on'); 
    $(this).parent().attr('aria-expanded', $(this).attr('aria-expanded') == 'false' ? 'true' : 'false'); 
}); 

這裏你可以看到一個工作示例:http://www.arden-price.com/?lang=en_us

你會發現第一個菜單(人力資源)只打開一個子菜單,而第二(集體訴訟)帶您直接到該網址。

+0

不錯,但我想使用懸停,而不是點擊(這是什麼WordPress的默認做) –

+0

我明白了恰恰相反。我嘗試避免任何懸停交互,因爲正如你所提到的那樣,「觸摸設備上沒有懸停!」。看看它是否適用於.hover。我在編輯答案。 – zJorge

+0

我知道這個問題似乎令人困惑 - 看看這裏你會理解正確。 http://beta.companyapp.co.uk - 懸停並點擊「產品」菜單項並查看行爲:) –