我猜答案是expand
- 但expand
- 事件似乎没有触发。
但是让我从头开始:我有一棵漂亮的树,我想用jBox来显示某些节点的信息。我注意到这只适用于创建树时可见的节点,但它对折叠节点下的节点不起作用。所以我想我可以使用expand
并分配一个事件处理程序,它将调用jBox
来创建工具提示。但它没有用。我在`expand-handler中添加了一个console.log
,注意到它从未记录过。
我是否错误地指定了它?
小提琴here。 " SD" -Node中有一些项目应该有一个工具提示附加到(i)-icon。
答案 0 :(得分:1)
它不会因为你传入一个字符串而触发:
"expand": "function(event, data) {...}"
您需要删除双引号,以便它是一个函数:
"expand": function(event, data) {...}
请参阅更新的小提琴:http://jsfiddle.net/pgh52m4w/3/
“dblclick”事件的计数相同。也删除那里的双引号。
此外,鼓励在附加jBox时使用.attach()
方法。 attach方法将检查这个jBox是否已经附加到元素上,如果不是,则只附加它。
查看更新的小提琴。我为工具提示创建了一个变量,并在expand事件中重新附加它:
$(function() {
var treei = $("#tree").fancytree({
expand: function () {
myTooltip && myTooltip.attach(); // Reattaching Tooltip
}
// ...
});
var myTooltip = new jBox("Tooltip", { // get tooltips showing
attach: '[data-jbox-content]',
getTitle: "data-jbox-title",
getContent: "data-jbox-content"
});
});