2011-07-14 2 views
0

一般的な方法でプラグインの通常のイベントを拡張することは可能ですか?プラグインのclickイベントを拡張しますか?

私はプラグインを持っていて、要素のクリックイベントに反応して反応します。 その要素がクリックされたときにいくつかのアクションを実行するようになりました。その後、自分のものを実行した後、プラグインがonlick 。

私は手動でプラグインを見てカスタムコードを作成していますが、プラグインのクリックイベントを一時的に防止してトリガーできるという一般的な方法がありますか?

+0

より具体的な例を追加して、1つに集中してください。これは非常に曖昧に聞こえる。それはリスナーなどを介して実装することが可能ですが、私はあなたを示す例が必要です... – powerMicha

+0

私はあなたが親(外側)オブジェクトのキャプチャフェーズでイベントを傍受することをお勧めします。すぐに処理することができない場合は、イベントを防止し、後で人為的に送信することができます。しかし、このソリューションはjqueryとはまったく関係がありません。JavaScriptです。 – Tino

答えて

3

あなたは、単一のイベントに複数のイベントハンドラをバインドすることができますので、たとえば、あなたがこのような何か行うことができます:clickイベントがトリガされたときにこれは、既存のコードと同様に実行されるだろう

$("#theElement").bind("click", yourFunction); 

を。しかし、既存のコードの前に実行されるとは言いません。

残念ながら、jQueryではイベントを並べ替える方法が提供されていないので、プラグインのclickイベントハンドラを変更して、関数を最初に呼び出すことをお勧めします。

2

クリックして追加することで防ぐことができます。基本的には同じことを

return false; 

e.preventDefault(); // prevents default behaviour when clicking on it 
e.stopPropagation(); // prevent bubbling up the dom tree 

をそれらがコードに含まれていない場合はクリックだけで、それが正常に何をすればいい。

強制的に私はreturn true;をしなければならない状況にあった。

しかし、いつ必要なのか正確にはわかりません。

関連する問題