質問

私のonchangeイベントを生成した要素のIDを検出する必要があります。

ほとんどの最近のブラウザでこのコード作業が

<input type="text" onchange="return onchange_handler(event);"

function onchange_handler(event) {
    var id = event.target ? event.target.id : event.srcElement.id;
    ...
    return false;
}

しかし、それは動作しませんの IEモバイルの。

私は、次のコードを試してみましたが、少なくともイベントが発射されると、ハンドラ関数が呼び出されますが、イベントハンドラが呼び出されたときに利用できwindow.eventではありません。

<input type="text" onchange="return onchange_handler();"

function onchange_handler() {
    var event = window.event; // <= evaluated as UNDEFINED
    var id = event.target ? event.target.id : event.srcElement.id;
    ...
    return false;
}

トリガーされたイベントへの参照を取得する方法はありますか?イベントの原因となった要素のidを知ってます。

または別のアプローチ
役に立ちましたか?

解決

この問題を回避するには、コールバックに要素を通過するであろう:(未テスト)

<input type="text" id="mytextbox" onchange="return onchange_handler(this);"

function onchange_handler(element) {
    var id = element.id;
    ...
    return false;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top