1. ホーム
  2. javascript

[解決済み] どのJavaScriptイベントが発生したかを知るには?

2022-06-29 19:19:40

質問

セレクトリストがあります。

<select id="filter">
  <option value="Open" selected="selected">Open</option>
  <option value="Closed">Closed</option>
</select>

を選択すると Closed を選択すると、ページが再読み込みされます。この場合、(開いたチケットではなく)閉じたチケットが表示されます。私が手動で行うときはうまくいきます。

を選択してもページが再読み込みされないのが問題です。 Closed Watir :

browser.select_list(:id => "filter").select "Closed"

これは通常、何らかの JavaScript イベントが発火していないことを意味します。Watirでイベントを発火させることができるんです。

browser.select_list(:id => "filter").fire_event "onclick"

が、どのイベントを発火させるか知る必要があります。

ある要素にどのイベントが定義されているかを知る方法はありますか?

どのように解決するのですか?

のように見える。 ファイアバグ (Firefoxアドオン)に答えがあります。

  • Firebugを開く
  • HTMLタブで要素を右クリック
  • クリック Log Events
  • コンソールタブを有効にする
  • ConsoleタブのPersistをクリックします(そうしないと、ページを再読み込みした後にConsoleタブがクリアされます)。
  • 選ぶ Closed (手動で)
  • をクリックすると、Consoleタブにこのようなものが表示されます。

    ...
    mousemove clientX=1097, clientY=292
    popupshowing
    mousedown clientX=1097, clientY=292
    focus
    mouseup clientX=1097, clientY=292
    click clientX=1097, clientY=292
    mousemove clientX=1096, clientY=293
    ...
    
    

出典 Firebugのヒント:イベントのログ