我已经看到了一些关于如何向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方法,但是它无法访问节点的数据项,所以我必须通过看起来有点逻辑来获取项目数据…查找当前节点ID通过导航DOM树,然后在商店中查找该项目?…
最后我发现Tree上有一个’getTooltip(item)’方法,但是当我设置它时:
var myTree = new dijit.Tree({ model: treeModel,onClick: function(item){ console.log(item.Obi_Id); },getTooltip: function(item){ return item.Secondary_Names; } });
工具提示只是一个常规的HTML’标题’弹出窗口…
在动态(懒惰)树节点上完成dojo工具提示的正确(简单)方法是什么?
-robbie
这是最简单的方法!
var myTree = new dijit.Tree({ model: treeModel,onClick: function(item){ console.log(item.name); },_onNodeMouseEnter: function (node,evt) { dijit.showTooltip(node.item.name,node.domNode) },_onNodeMouseLeave: function (node,evt) { dijit.hideTooltip(node.domNode); },});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。