Javascript 工具提示插件 - 克隆和生成标记而不是使用指定的原始标记的原因

Javascript tooltip plugins - reason for cloning and generating markup instead of using the original specified

我一直在尝试多种不同的插件: - 工具提示 - Qtip2 - 提示

以及 Javascript 的更多工具提示插件。

有一点不太明白,如果有JS专家和CSS能指出来就好了

对于我在那里试用的每个插件,它们都会为实际的工具提示框生成标记,而不是使用我为工具提示指定的标记。

我的意思是,假设我有这样的东西:

<a href="#" class="tooltip-trigger">Hover Me</a>
<div class="tooltip-box">
    Lorem ipsum dolor sit amet
</div>

当我初始化插件并将鼠标悬停在 "Hover Me" 上时,它会创建“.tooltip-box”的克隆副本并将其放置在我的 HTML 页面底部。

我的问题是,为什么不直接使用我定义的呢?有没有技术上无法实现的东西?

我已经搜索了一段时间了。我相信有一个正当的理由,但我在任何地方都找不到它。

如有任何帮助,我们将不胜感激。

我只能回答我维护的 Tooltipster。在版本 4 中,Tooltipster 确实使用了您提供的 div,而不是它的克隆。如果将 contentCloning 选项设置为 true,它将仅使用克隆。克隆背后的原因是当您创建多个工具提示时,它们都应该使用单个元素作为内容,例如:

$('#origin1, #origin2').tooltipster({
    content: $('.tooltip-box')
})

你的div显然不能同时显示在两个工具提示中,所以你必须使用克隆。

默认情况下克隆对大多数人来说可能没问题并且省去了他们的麻烦,但当您考虑它时我发现它违反直觉(显然您也是如此)。这是一种乍看之下使事情变得简单,但最终却使事情变得复杂的魔术。所以它现在在 Tooltipster 中默认禁用。