1

data変数function (e, data)は常に未定義を返します。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": {
        ...
});

ここで何が問題なのかについてのアイデアはありますか?

4

1 に答える 1

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');
    });
}
于 2013-03-01T14:38:27.410 に答える