1

jsTreeで空のすべてのrelにrelタグを追加しようとしています。私はこれをjsFiddleで機能させることができましたが、同じコードをツリー全体に適用しようとすると、機能しません(つまり、relタグはまだ空白/空です)。この例として使用するために、ツリーから結果のソースコードを取得しました。そのため、コードが機能していないと混乱しています。

動作するjsFiddleバージョンは次のとおりです。ここを表示します

また、rel ='disabled'の場合、リンクが無効になるようにahrefを削除または無効にすることは可能でしょうか。

4

1 に答える 1

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();
     });
    })
    

これにより、rel = "file"を持つリンクがアンラップされます(ノードをクリック不可にする必要があります。アンラップしたい他の任意のタグにrelタグを設定できます。

編集:次のように、シングルクリックとダブルクリックを無効にするだけで、さらに簡単になりました。

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

これがお役に立てば幸いです。

于 2012-06-02T16:23:19.270 に答える