我正在使用jstree_pre1.0_fix_1。我希望有预选的菜单。
javascript正在关注,
$("#Menu").jstree({
"plugins" : [ "themes", "html_data", "ui"],
"ui" :{ "initially_select" : ["#MENUITEM_012"] },
"themes" : {
"theme" : "custom",
"dots" : false,
"icons" : false,
},
}).
bind("select_node.jstree", function(e,data) {
window.location.href = data.rslt.obj.children("a").attr("href");
});
当加载jstree时,它选择一个节点(#MENITITEM_012),然后更改window.location.href,然后加载jstree并再次选择一个节点。
我怎样才能摆脱这种情况。
答案 0 :(得分:0)
回答自己;
除去
.bind("select_node.jstree", function(e,data) {
window.location.href = data.rslt.obj.children("a").attr("href");
})
添加
$(".jstree li a").live("click", function(e) {
window.location.href = $(this).attr("href");
});
答案 1 :(得分:0)
刚刚找到解决方案。该问题是由库尝试选择节点引起的(即,在加载导航页面后使其显示为选中状态)。并且在访问节点时将处理程序设置为将页面导航到另一页面。
解决方案是确保通过鼠标单击选择节点。
.bind("select_node.jstree", function(e,data) {
var evt = window.event || event;
var button = evt.which || evt.button;
if( button != 1 || ( typeof button == "undefined")) return true;
window.location.href = data.rslt.obj.children("a").attr("href");
})