'data'变量未定义为JSTree .bind(“hover_node.jstree”,函数(e,data)事件

时间:2013-02-28 22:12:33

标签: jquery jstree

data中的function (e, data)变量始终返回undefined。 IIRC它应该是徘徊的节点。

$("#search").bind("hover_node.jstree", function (e, data) {

    console.log(data); //always 'undefined'

    //This is what I wish would work:
    var node = data.rslt.obj, // the hovered node 
     tree_instance = data.inst; // tree instance

    tree_instance.open_node(node);

}).jstree({
    "core": {
        ...
});

关于这里有什么问题的任何想法?

1 个答案:

答案 0 :(得分:2)

我创建了一个解决方法,因为hover_node充其量只是零星的。我正在使用json_data插件,因此节点是动态创建的。因此,每次打开节点时,将其子节点检查为叶节点,然后添加适当的CSS。在这种情况下,我想添加一个“Go”按钮,该按钮出现在悬停的叶节点上。

.bind("after_open.jstree", function (data) {

    refreshGoButtonHover();

});

...

function refreshGoButtonHover() {

    $('.jstree-leaf').mouseover(function () {
        $(this).find('.go_button').addClass('visible');
    });

    $('.jstree-leaf').mouseout(function () {
        $(this).find('.go_button').removeClass('visible');
    });
}