1

私の最初のjQueryプラグインはほぼ完成しました。HTMLテーブルを受け取り、ヘッダーを固定し、列を並べ替え可能にします。デモはhttp://tapmeister.com/test/sortfixedtable/index.htmlにあります(プラグインを開始するには、[作成]をクリックします)。

プラグインを削除することを目的としたdestroy()メソッドを追加しました。問題は、イベントが削除されないことです。

70行目で、次のようなものを使用してイベントを追加します。

$(this).on('click.sortfixedtable',methods.sortClick);

151行目で、次のようなものを使用してイベントを削除しようとしています。

$(this).off('.sortfixedtable');

ただし、off()メソッドはクリックイベントを削除しません。誰かが私が台無しになっている場所を教えてもらえますか?ありがとう

4

2 に答える 2

1

イベントハンドラーを要素にバインドしますが、<th>要素から削除しようとし<table>ます。<th>代わりに、ハンドラーがバインドされている同じ要素から削除します。

t_head.find('th').off(".sortfixedtable");
于 2012-11-24T18:08:02.937 に答える
1

したがって、次のようにします

$(this).on('click','.sortfixedtable',methods.sortClick);

$(this).off('click','.sortfixedtable');

うまくいかない?2番目のものは基本的に言う

クラス「sortfixedtable」を使用して、この中の要素からクリックイベントハンドラーを削除します

于 2012-11-24T18:03:30.027 に答える