私はjQueryプラグインを書いています。このプラグインの init メソッドを設定するときに、コンテキストのイベントを設定したいのですが、イベントのデリゲート ターゲットを設定するか、イベントをコンテキストに直接バインドする必要があるかがわかりません。
デリゲートを検討したい主な理由は、動的コンテンツでこのプラグインを使用することです。場合によっては、プラグインが呼び出されるこれらの要素が ajax を使用してページに追加されることがあります。この場合、ajax 呼び出し後にイベントを破棄して再バインドする必要がないように、イベントを設定する方法はありますか?
現時点では、私は次のようなことをしています:
$(this).on('click', initEditor);
次のようなことを検討する必要があります。
$('body').on('click', this, initEditor);
または、次のように、オプションのオプションとしてデリゲートを格納するイベント:
$(options.delegate).on('click', this, initEditor);
デリゲート形式を使用すると、イベントは実際のコンテキスト要素ではなく、コンテキストのセレクターにバインドされることに気付きました (つまり、これがアンカーの場合、ページ上のすべてのアンカーにバインドされます)。それを回避する方法はありますか?
ありがとう!