在jsTree中添加rel标记/禁用链接

时间:2012-06-01 15:42:49

标签: jquery jstree

尝试将rel标记添加到jsTree为空的所有rel。我已经设法让它在jsFiddle中工作,但是当尝试将相同的代码应用于完整的树时,它不起作用(也就是说,rel标记仍然是空白/空)。我从我的树中获取了生成的源代码以用作此示例,这就是为什么我感到困惑的是代码无效。

这是工作的jsFiddle版本:view here

此外,如果rel ='disabled',是否可以删除或禁用某个href,以便禁用该链接?

1 个答案:

答案 0 :(得分:3)

对于那些好奇的人,我做了几件事 -

  1. 我在数据库中更新了所有我想要禁用的特定类型(即文件夹)的链接。空白的rel标签也有效。如果您无法访问数据库,我还尝试了以下应用于.bind(“before.jstree”)的代码:

    $('li[rel=""]').attr('rel','disabled');
    
  2. 我将绑定应用于jsTree实例。以下代码是我使用的,

    .bind("before.jstree", function (e, data) {
     $('ul li[rel="file"] > a').each(function() {
      $(this).contents().unwrap();
     });
    })
    
  3. 这将解包具有rel =“file”的链接(满足need to make nodes unclickable。您可以将rel标记设置为您想要解包的任何其他内容。

    编辑: 我只是简单地禁用了单击和双击,这样就更简单了:

       .bind("before.jstree", function (e, data) {
        $('ul li[rel="file"] > a').each(function() {
          $(this).click(false);
          $(this).dblclick(false);
         });
        })
    

    我希望这有帮助!