0

在 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 背景项变为蓝色,没问题。但是当我将鼠标悬停在第二个 li 上时,什么也没有发生。我对asp不是很熟悉。我尝试了解决方案JQuery don't work in aspx-page with Masterpage我什至不确定它是否适用。

谢谢

4

1 回答 1

1

将您的代码包装在这样的文档就绪事件中......

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

您还可以使用委托函数,该函数将捕获列表项上的鼠标悬停,即使它们是在您注册事件处理程序后添加的。

PS。将此 JavaScript 放在页面底部。这使您的页面呈现速度更快。

于 2012-07-13T17:24:36.927 回答