0

新しいファイルとフォルダーを追加できる、高度に変更されたバージョンの jqueryFileTree プラグインを使用しています。新しいファイルがリアルタイムで作成されると、すべての新しいファイルとフォルダーが意図したとおりに機能するように、ツリーを再度クリック イベントにバインドする必要があります。

ファイルツリーを再バインドするだけで、フォルダーの機能に問題が発生しました。新しいファイルごとに、ファイルツリーは bind を実行します。つまり、1 つのファイルを追加してからディレクトリをクリックして閉じると、関数が 2 回実行されるため、開いてから閉じます。

最近問題を特定し、再バインドする前に、ファイル ツリーに接続されているすべてのイベントのバインドを解除しようとしています。ただし、問題は引き続き発生します。これはなぜですか?構文エラー?

$('UL.jqueryFileTree').unbind();
bindTree('UL.jqueryFileTree');

乾杯!

クリス

4

3 に答える 3

1

あはは!

もっとよく調べるべきだった。代わりにこれを書くとうまくいきます:

$('UL.jqueryFileTree').find('LI A').unbind();
bindTree('UL.jqueryFileTree');
于 2009-09-04T08:01:49.423 に答える
0

ただし、Unbind が問題を引き起こす場合は、RemoveAttr() を使用して要素からイベントを削除できます。jQueryのunbindイベントにバグがあるため。

于 2009-09-04T07:57:23.503 に答える
0

jQuerys live-event も参照してください。おそらく、再バインドする必要はありません。もっとうまくいくかもしれません。

すなわち

$('#divId a').live('click', function(e){
   //do something to all matched and future elements
});
于 2009-09-04T11:57:56.543 に答える