2012-07-13 66 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

相关问题