我正在尝试将 rel 标记添加到所有 jsTree 为空的 rel 标记。我已经设法让它在 jsFiddle 中工作,但是当尝试将相同的代码应用于整个树时,它不起作用(也就是说,rel 标签仍然是空白/空的)。我从我的树中抓取了生成的源代码作为这个例子,这就是为什么我对代码不起作用感到困惑。
这是工作的 jsFiddle 版本:在此处查看。
另外,如果 rel='disabled',是否有可能删除或禁用 a href 以禁用链接?
对于那些好奇的人,我做了几件事——
我在数据库中将所有链接更新为我想要禁用的特定类型(即文件夹)。空白的 rel 标签也有效。如果您无法访问数据库,我还尝试了以下适用于 .bind("before.jstree") 的代码:
$('li[rel=""]').attr('rel','disabled');
我对 jsTree 实例应用了绑定。以下代码是我使用的,
.bind("before.jstree", function (e, data) {
$('ul li[rel="file"] > a').each(function() {
$(this).contents().unwrap();
});
})
这将展开具有 rel="file" 的链接(满足使节点不可点击的需要。您可以将 rel 标记设置为您想要展开的任何其他内容。
编辑:我也让它变得更简单,只需禁用单击和双击,如下所示:
.bind("before.jstree", function (e, data) {
$('ul li[rel="file"] > a').each(function() {
$(this).click(false);
$(this).dblclick(false);
});
})
我希望这有帮助!