当前位置 : 主页 > 网页制作 > Dojo >

向Dojo Tree节点添加工具提示的最简单方法是什么?

来源:互联网 收集:自由互联 发布时间:2021-06-15
我已经看到了一些关于如何向Dojo Tree节点添加工具提示的建议,有些似乎没有用,有些人让我问其他问题…… 我尝试过有限成功的一种方法是: var myTree = new dijit.Tree({ model: treeModel, id: "
我已经看到了一些关于如何向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,
                id: "myTree",
                showRoot: false,
                persist: false,
                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,
    id: "myTree",
    showRoot: false,
    persist: false,
    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);
    },
});
网友评论