JSTree无法加载点击的内容

时间:2015-04-18 11:35:19

标签: javascript jquery jstree

我在javascript上仍然很差,特别是在JQuery上。 如果单击一个JSTree href,如何加载某些内容,并且内容应该加载到同一页面上。

当我删除div id" tree_1"从div开始,它通常很适合作为导航菜单(而不是JSTree节点)。

请帮助。
谢谢。



  $('#tree_1').jstree({
      "core" : {
          "themes" : {
              "responsive": false
          }            
      },
      "check_callback" : true,
      "types" : {
          "default" : {
              "icon" : "fa fa-folder icon-state-warning icon-lg"
          },
          "file" : {
              "icon" : "fa fa-file icon-state-warning icon-lg"
          }
      },
      "plugins": ["state"]
  });

  $('#tree_1').on('select_node.jstree', function(e,data) { 
      var link = $('#' + data.selected).find('a');
      if (link.attr("href") != "#" && link.attr("href") != "javascript:;" && link.attr("href") != "") {
          if (link.attr("target") == "_blank") {
              link.attr("href").target = "_blank";
          }
          //document.location.href = link.attr("href");
          return false;
      }
  });

<div id="tree_1" class="tree-demo scroller" style="height:150px">
  <ul id="klass">
    <li><a href="home">Load Home Page</a></li>
    <li><a href="klassing">Load Klassing Page</a></li>
  </ul>
</div>

<div id="content"></div>

<script>
$(document).ready(function(){
  $('#content').load('content/index.php');  
  
  $('ul#klass li a').click(function(){
    var page = $(this).attr('href');
    $('#content').load('content/' + page + '.php');
    return false;
  });
}); 
</script>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

删除底部脚本标记,而不是您的select_node事件处理程序尝试以下内容:

  $('#tree_1').on('select_node.jstree', function(e,data) { 
      var href = data.node.a_attr.href;
      if (href && href != "#" && href != "javascript:;") {
          $('#content').load('content/' + href + '.php');
      }
  });