我正在尝试使用数据属性创建多个jBox,并希望将其他元素的内容提供给它们。
我认为(开箱即用)这是不可能的,所以我使用了data-jbox-content-from
属性,该属性应该指向具有内容的元素。
但是我现在很困惑:我知道我应该只创建一个jBox,但是当我需要为每个元素提供不同的调用来提供内容时,我看不到这是怎么做到的?
并确认我的不确定性……提琴不起作用。因此,我希望有人能找到一种方法来解决我的“丑陋”方法中的错误(在控件上eachi
ng)或更聪明地使用JS / jBox。
$("[data-jbox-content-from]").each(function() {
new jBox("Tooltip", {
theme: "TooltipDark",
id: "jBoxTooltip_" + $(this).attr("id"),
getTitle: "data-jbox-title",
content: $($(this).attr("data-jbox-content-from")),
attach: "#" + $(this).attr("id")
}).attach();
});
完成小提琴here
答案 0 :(得分:1)
您的方法是正确的。但是您需要将代码放入domready
:
$(document).ready(function () {
$("[data-jbox-content-from]").each(function() {
new jBox("Tooltip", {
theme: "TooltipDark",
id: "jBoxTooltip_" + $(this).attr("id"),
getTitle: "data-jbox-title",
content: $($(this).attr("data-jbox-content-from")),
attach: "#" + $(this).attr("id")
});
});
});
还要注意,我在.attach()
之后删除了new jBox
方法。 jBox会在初始化时执行此操作。