2013-04-18 79 views
4

我有以下的菜單導航:果園導航 - 如何使菜單鏈接無法點擊

home 
product 
    product 1 
    product 2 
news 
    press releases 
about us 

上述鏈接到內容的每個菜單項,除了「產品」。我需要讓這樣當用戶點擊「產品」不會去任何地方。

我試圖使用「自定義鏈接」,並在網址中輸入「#」或「javascript:void(0)」,但這是行不通的,因爲Orchard總是以「/」爲前綴。

而且,我試圖在HTML正文使用的 「HTML菜單項」,然後輸入 「產品」,但總是呈現爲

<li><span class="raw"><p>product</p></span><ul>...</ul></li> 

我想無論是以下幾點:

<li><a href="#">product</a><ul>....</ul></li> 

<li>product<ul>....</ul></li> 

有沒有簡單的方法來做到這一點?所以,如果你想防止點擊第二

$(document).ready(function() { 
    $("#Nav a").click(function(e) { 
     e.preventDefault(); 
    }); 
}); 

上述禁止點擊所有的菜單鏈接,:

回答

4

Orchard.Web項目Core->Shapes->Views目錄下的Menu.cshtml文件,你可以這樣做級菜單項:

$('#Nav li ul li a').click(function(e){ 
    e.preventDefault(); 
}); 

Menu.cshtml文件對您的導航菜單中的視圖,這樣你就可以定義它的行爲,如你所願那裏。你也可以看看我的this answer

3

你可以像Mohammad說的那樣做,但是在你的主題中創建一個備用的Menu.cshtml。修改Orchards核心代碼是不好的做法。

+0

你是對的,創建一個替代方案是要走的路,但我想省卻解釋形狀追蹤和替代。儘管如此,它們是任何Orchard開發人員不可或缺的技能,需要在某個時候學習。 – 2013-04-18 14:01:32

+0

我熟悉網址替代和形狀跟蹤 - 但是想避免這樣做,因爲項目已經發布到PROD(Azure),因此接受了上面的jQuery工作。至少我可以複製.js文件而不是進行其他部署。無論如何投票。 – friend 2013-04-19 01:27:00