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 中默认禁用。
我一直在尝试多种不同的插件: - 工具提示 - 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 中默认禁用。