Как получить Я получаю листовые узлы в jstree, чтобы открыть их гиперссылку при нажатии при использовании jstree ui

Я отображаю иерархическую структуру, используя jtree, данные следующие



<a href="#">C:</a>


<a href="#">Music</a>


<a href="#">Z</a>


<a href="#">Hans Zimmer</a>

<a href="FixSongsReport_00107_2013-09-04-11-11-55_body_blqxgT7E7YOmnBbjFXQGUg==.html">C:\Music\Z\Hans Zimmer\Hannibal</a>



<a href="#">The Zombies</a>

<a href="FixSongsReport_00107_2013-09-04-11-11-55_body_er7mjWKbAaYaf8DygP84Fg==.html">C:\Music\Z\The Zombies\Best of The Zombies</a>
<a href="FixSongsReport_00107_2013-09-04-11-11-55_body_56XgVDhsjEKWXFd4OzVldA==.html">C:\Music\Z\The Zombies\The Zombies featuring Colin Blunstone & Rod Argent</a>










и он отображается нормально, как файловая система.

Это часть набора фреймов, которая отображается в левой части экрана, и когда пользователь нажимает на конечный узел, я хочу, чтобы он открывал прикрепленную ссылку в правой части экрана (как это было до того, как я применил к нему материал jtree)

Моя конфигурация jtree выглядит следующим образом











$(function () {
$("#songchanges")
.jstree({
"plugins" : ["themes","html_data","ui","crrm","hotkeys"],
"core" : { "initially_open" : [ "phtml_1" ] }
})
.bind("loaded.jstree", function (event, data) {
});
$("#songchanges").bind("open_node.jstree", function (e, data) {
data.inst.select_node("#phtml_1", true);
});
});

Я прочитал пример demo3

$(function () {
    $("#demo3")
        .jstree({ "plugins" : ["themes","html_data","ui"] })
        // 1) if using the UI plugin bind to select_node
        .bind("select_node.jstree", function (event, data) { 
            // `data.rslt.obj` is the jquery extended node that was clicked
            alert(data.rslt.obj.attr("id"));
        })
        // 2) if not using the UI plugin - the Anchor tags work as expected
        //    so if the anchor has a HREF attirbute - the page will be changed
        //    you can actually prevent the default, etc (normal jquery usage)
        .delegate("a", "click", function (event, data) { event.preventDefault(); })
});

и попробовал это, но опция .delegate не имела никакого эффекта, я полагаю, я должен удалить "уй» плагин, но пытаюсь, чтобы моя страница просто выглядела так, как будто я никогда не применял jstree.

Опция связывания вроде работает, так как она отображает раздражающее окно с предупреждением, отображающее идентификатор каждый раз, когда я нажимаю на любой узел. Так как я могу изменить его, чтобы вместо этого открыть ссылку в правой части?

Обновить Нашел этот ответJstree узлы не 'не работает, когда используется плагин пользовательского интерфейса

Добавление

  .bind("select_node.jstree", function (e, data) {
    var href = data.rslt.obj.children("a").attr("href");
    // this will load content into a div:
    $("#contents").load(href);
    // this will follow the link:
    document.location.href = href;
  }) 

Теперь ссылка открывается при нажатии, к сожалению, она заменяет левую рамку страницы, тогда как я хочу, чтобы она помещалась в правую панель, любые идеи.

Ответы на вопрос(5)

Ваш ответ на вопрос