gpt4 book ai didi

javascript - 动态加载
    时以 "this"为目标

转载 作者:行者123 更新时间:2023-12-02 17:34:18 25 4
gpt4 key购买 nike

我有一个 div,其中正在动态加载无序列表。首先,我要说的是,当 ul 被硬编码时,它工作得很好,当加载新的 ul 时就会出现问题。这是我的 JavaScript:

$('#products ul li').hover(function(){
$(this).find(".productDesc").fadeToggle("slow");
});

动态加载到<div id='products'></div>的代码的html结构如下:

<ul id='category1'> 
<li>
<p class='productDesc'>description 1 here</p>
</li>

<li>
<p class='productDesc'>description 2 here</p>
</li>
</ul>

问题出在“this”。当新的 UL 动态加载时,“this”似乎不再指我悬停的元素。相反,它似乎根本没有提及任何内容。我该怎么做才能使“this”正常工作?

最佳答案

您需要使用event delegation由于 li 元素是动态添加的。

由于您正在使用 hover ,没有悬停事件 - 这是注册两者的实用方法 mouseentermouseleave事件

$('#products').on('mouseenter mouseleave', 'ul li', function () {
$(this).find(".productDesc").fadeToggle("slow");
});

关于javascript - 动态加载 <ul> 时以 "this"为目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22765837/

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