问题是我们使用 jquery.jstree.js 作为我们的菜单。开发人员希望对其进行设置,以便菜单根据您所在的页面扩展和收缩。问题是代码,特别是
.replace(/^#/, "")
在下面的
s = $.map($.makeArray(s), function (n) {
return "#" + n.toString()
.replace(/^#/,"")
.replace(/\\\//g,"/")
.replace(/\//g,"\\\/")
.replace(/\\\./g,".")
.replace(/\./g,"\\.")
.replace(/\:/g,"\\:");
});
导致从 url 中删除锚链接(如果您要链接到不同页面上的锚标记。)
我从这一行的这段代码中删除了#,并修复了锚链接,但它导致菜单停止以相同的方式工作。它有时似乎有效,但例如,当我们通过其中包含锚标记的锚链接访问页面时,侧边菜单将关闭而不是打开。
有谁知道让锚链接仍然有效但仍然具有菜单功能的方法?