jquery Tippy.js在DOM中生成多个示例,而预期只有一个示例

jc3wubiy  于 2022-12-22  发布在  jQuery
关注(0)|答案(1)|浏览(224)

使用tippy.js和jQuery。
我希望我的脚本所做的是,如果用户将鼠标悬停在类为.ajax-link的链接上,那么当鼠标悬停在链接上时,应该创建并显示一个工具提示:

$(".ajax_link").mouseenter(function(e) {

    tippy(this, { content: 'loading', followCursor: true, delay: 0});

    return false;
});

这是可行的,但不幸的是,在我的实现中似乎有一些奇怪的行为。
当我将鼠标悬停在链接上时,似乎在DOM中创建了 * 几个 * 工具提示示例,而不是一个(如预期)。
在检查器中,我可以看到#tippy-1(第一个,也是我唯一关心的一个),但在那之后,我还看到正在生成#tippy-2#tippy-3#tippy-4等。
当光标离开链接时,所有的示例都被销毁(正如预期的那样),所以这没关系,但是为什么一开始就生成了这么多的示例呢?我希望在鼠标悬停时只看到#tippy-1,而不是其他几个。
这里有一个例子,所以你可以明白我的意思-悬停在链接和摆动你的光标左右-同时看看检查员在非常非常底部的DOM-你会看到几个示例正在作出。
x一个一个一个一个x一个一个二个x
我只想让它做一个id为#tippy-1的工具提示。

mkshixfv

mkshixfv1#

设法找出了问题所在。
我在事件处理程序中调用tippy,所以每次我将鼠标放在元素上时,它都会创建一个新的tippy示例--这就是为什么我在DOM中看到所有其他工具提示。
所以我把tippy的东西放在那个处理程序之外,独立的,它起了很大的作用。

相关问题