ライブラリのページにカスタマイズ可能なフォーム要素があります。使用するイベントハンドラを見つけようとしているので、対話したときにどのJavaScriptイベントが発生するのかを確認したいと思います。
Chrome Web Developerを使用してそれを行うにはどうすればよいですか。
同様に、ターゲット要素を右クリックしてください - > "inspect element"を選択してください。devフレームの右側を下にスクロールしてください。下部には 'イベントリスナ'があります。ツリーを展開して、どのイベントが要素に添付されているかを確認します。これがバブリングを通して処理されるイベントに機能するかどうかわからない(私はそうではないと思う)
monitorEvents functionを使用できます。
あなたの要素を調べ(表示されている要素のright mouse click
→Inspect
、またはChromeデベロッパーツールのElements
タブに行き、欲しい要素を選んでください)、Console
タブに行き、次のように書いてください:
monitorEvents($0)
この要素の上にマウスを移動し、フォーカスを合わせるかクリックすると、発生したイベントの名前がそのデータと一緒に表示されます。
このデータの取得をやめるには、これをコンソールに書き込むだけです。
unmonitorEvents($0)
$0
は、Chromeデベロッパーツールが選択した最後のDOM要素です。他の任意のDOMオブジェクトをそこに渡すことができます(たとえば、getElementById
またはquerySelector
の結果)。
また、監視対象のイベントを事前定義済みのセットに絞り込むために、イベントの "type"を2番目のパラメータとして指定することもできます。例えば:
monitorEvents(document.body, 'mouse')
この利用可能なタイプのリストは ここ です。
この機能がどのように機能するかを説明する小さなGIFを作成しました。
Jqueryプラグインであれば、これはあなたのスクリプトが作成するようなカスタムイベントを表示しません。例えば :
jQuery(function($){
var ThingName="Something";
$("body a").live('click', function(Event){
var $this = $(Event.target);
$this.trigger(ThingName + ":custom-event-one");
});
$.on(ThingName + ":custom-event-one", function(Event){
console.log(ThingName, "Fired Custom Event: 1", Event);
})
});
クロム開発者向けツールのスクリプトの下のイベントパネルには "Something:custom-event-one"は表示されません