【发布时间】:2011-06-21 03:16:59
【问题描述】:
我看到了许多关于如何向 Dojo Tree 节点添加工具提示的建议,有些似乎不起作用,而另一些则让我问其他问题...
我尝试过的一种成功的方法是这样的:
var myTree = new dijit.Tree({
model: treeModel,
id: "myTree",
showRoot: false,
persist: false,
onClick: function(item){
console.log(item.name);
},
_onNodeMouseEnter : function(node, evt){
var tip = new dijit.Tooltip({
label: node.item.name,
connectId: [node.domNode.id]
});
}
});
但它有一个奇怪的行为,即仅当来自树中较高的节点时才创建工具提示,并且只有当您从顶部边缘将鼠标移入 expando...
第二次尝试我查看了 Tree 的 onMouseEnter 方法,但它无法访问节点的数据项,因此我必须通过看起来有点逻辑的方法来获取项数据...通过导航 DOM 树查找当前节点 ID,然后在商店中查找该项目?...
最后我发现 Tree 上有一个 'getTooltip(item)' 方法,但是当我设置它时:
var myTree = new dijit.Tree({
model: treeModel,
id: "myTree",
showRoot: false,
persist: false,
onClick: function(item){
console.log(item.Obi_Id);
},
getTooltip: function(item){
return item.Secondary_Names;
}
});
工具提示只是一个常规的 HTML 'title' 弹出窗口......
在动态(惰性)树节点上完成 dojo 工具提示的正确(简单)方法是什么? -罗比
【问题讨论】: