1

スクリプトの実行を処理するC++アプリケーションがあります。現在、VbスクリプトとJスクリプトでカスタムイベントの発生を実行したいと思います。J Scriptのコードを記述し、正常に動作しています。VbScriptでこれを実現するにはどうすればよいですか。(主にIEを対象)

function customEventFn()
{
 alert("sample");
}
var element = document.getElementById("elemneid");
customEventFn.call(element);

これを解決するのを手伝ってください

4

1 に答える 1

1

最後に、私の問題に対する答えを見つけました。上記のメソッドは、バージョン9より前のInternetExplorerでは機能しません。attachEventメソッドを使用して以前のバージョンのInternetExplorerでイベントハンドラーを登録します。ただし、カスタムイベントは発生しません。スクリプトを正しく機能させるには、IE9をインストールする必要があります。

  1. htmファイルのHEADに次のタグを追加します。-meta http-equiv = "X-UA-Compatible" content = "IE = 9"-
  2. 関数でラップされたイベント本文を書き込む
  3. getElementById'</li>を使用して要素への参照を取得します
  4. カスタムイベントを作成し、ステップ1で定義された関数としてコールバックを使用して、そのイベントを要素にアタッチします。
  5. カスタムイベントを起動します
  6. リスナーからカスタムイベントを削除します(removeEventListener)。

    関数CustomFunction()

    '機能本体

    終了機能

    set customFn = getRef( "CustomFunction")

    set element = document.getElementById( "elemid");

    element.addEventListener "OnSampleEvent"、customFn

    set Event = document.createEvent( "sampleEvent")

    Event.initCustomEvent "OnSampleEvent"、false、false、nil

    element.dispatchEvent(Event)

    element.removeEventListener "OnSampleEvent"、customFn

于 2013-01-09T08:57:20.210 に答える