2012-07-13 54 views
0

在aspx頁面,我有這樣的事情:ASP:jQuery函數適用於母版頁項,但不aspx頁面項目

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 
<script type="text/javascript"> 
    $("li").mouseover(function() { 
     $("li").css("background-color", "blue"); 
    }); 
</script> 

<ul id="second"> 
<li> <a href.../a> </li> 
<li> <a href.../a> </li> 
<ul> 

和母版出現在列表格式創建過一個菜單欄。所以當我將鼠標移動到菜單欄時,背景項目變成藍色,沒有問題。但是當我將鼠標懸停在第二個li上時,什麼也沒發生我對asp不是很熟悉。我試過解決方案JQuery don’t work in aspx-page with Masterpage我甚至不確定它是否適用於它。

感謝

+0

也許只需要在DOM準備好$(document).ready(function(){// Your code here})之後定義函數; – GTSouza 2012-07-13 17:21:15

+0

嘗試將您的腳本放在master頁面的head標籤和DOM準備好上 – 2012-07-13 17:23:24

回答

1

裹在這樣的文檔準備事件代碼...

$(document).ready(function() { 
    $("ul.second").delegate("li", "mouseover", function() { 
     $("li").css("background-color", "blue"); 
    }); 
}); 

而且你還可以使用委託功能,即使添加他們將捕捉列表項鼠標懸停在註冊事件處理程序之後。

PS。把這個JavaScript放在頁面的底部。這使您的頁面渲染速度更快。

+0

我一直在我的aspx頁面上使用jQuery,就像@Bart在asp:內容中描述的那樣,就像你擁有它一樣。我也遇到了一些奇怪的問題,結束了與腳本結束標記相關的功能,所以請檢查您生成的html源代碼,以確保其被瀏覽器 – 2012-07-13 17:37:27

+0

正確識別!那是爲我做的 – user12345 2012-07-13 18:01:33

+0

@ user1524149你能把這個標記爲接受的答案嗎? – 2012-07-14 10:30:37

相關問題