gpt4 book ai didi

jquery - 为什么我的悬停事件没有在 JQuery 中触发?

转载 作者:行者123 更新时间:2023-11-30 23:50:53 26 4
gpt4 key购买 nike

我不确定为什么我的事件没有触发?我只是想在用户将鼠标悬停在 li 上时更改列表样式类型。看起来我没有错过任何东西,但什么也没有发生。

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<link href="theme.css" rel="stylesheet" type="text/css" />
</head>
<script type="text/javascript">
$(".component ol li").hover(function() {
$(this).css('list-style-type', 'disc');
}
);
</script>
<body>
<form id="form1" runat="server">
<div class="component">
<ol>
<li><a href="#"></a>&nbsp;</li>
<li><a href="#"></a>&nbsp;</li>
<li><a href="#"></a>&nbsp;</li>
<li><a href="#"></a>&nbsp;</li>
<li><a href="#"></a>&nbsp;</li>
</ol>
</div>
</form>
</body>
</html>

最佳答案

<script type="text/javascript">
$(document).ready(function() {
$(".component ol li").hover(function() {
$(this).css('list-style-type', 'disc');
}
);
});
</script>

如果你没有 document.ready,它将在你的列表项添加到 DOM 之前执行,所以它基本上什么也不做。或者将整个部分移至列表项之后。

编辑:根据进一步讨论:最好不要使用 document.ready,因为它必须等待页面上的所有内容完成加载才能运行。话虽如此,您始终可以将这些“初始化” block 放在 html 的末尾,以确保执行时创建所有 DOM 对象。

或者第二个对象是使用.live()。每当创建适合选择器的元素时,此函数都会将事件附加到选择器的结果。现在您可以将此 block 保留在顶部并使用:

<script type="text/javascript">
$(".component ol li").live('hover', function() {
$(this).css('list-style-type', 'disc');
});
</script>

现在,只要将与 $(".component ol li") 匹配的内容添加到 DOM 中,您的悬停功能就会被附加。

关于jquery - 为什么我的悬停事件没有在 JQuery 中触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3998305/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com