0

入力、選択、ウィンドウなどのさまざまな要素にイベントハンドラーをアタッチします。現在の要素がウィンドウまたは一般的な html 要素であるかどうか、ハンドラー内で確認する必要があります。そのチェックはどうすればいいですか?

例:

inputTextEl.attachEvent("何らかのイベント"、ハンドラ);

inputButtonEl.attachEvent("何らかのイベント", ハンドラ);

window.attachEvent("何らかのイベント", ハンドラ);

 var handler = function (eventName) {
    return function () {
    var message = '[' + eventName + ']';
     if (window.event) {
        message += ' eventType: ' + window.event.type;

        var target = window.event.srcElement || window.event.target;
        var id = target.id;
        if (id == '') {
                  id = target.parentNode.id;
        }
        message += ' ;eventTarget: ' + id;
     } else {
           message += ' window.event - undefined';
     }
     console.log(message); 
}; };
4

2 に答える 2

0

関数ハンドラーでIEの以下のコードを使用できます

alert(Window.event.srcElement.tagName );

そしてFirefoxとChromeの使用のために

   alert(this.tagName);
于 2012-07-12T15:37:16.530 に答える
0

を使用するブラウザもあればevent.target、次を使用するブラウザもありますevent.srcElement

function handler(ev) {
    var event = window.event || ev;
    var target = event.srcElement || event.target;
    // event has the lowest-level element that is the target of the event
}

windowウィンドウ自体をクリック/マウスオーバー/などできないため、ほとんどのイベントがターゲットになることはありません。代わりに、ウィンドウ内の特定の要素に対してこれらのアクションを実行します。

于 2012-07-12T15:40:43.613 に答える