15

JavaScriptでイベントを適切に作成して起動する方法を理解しようとしているので、学習の過程で次のページに遭遇しました:

https://developer.mozilla.org/en-US/docs/DOM/document.createEvent

一番上にあるのは、次のことです。

createEvent メソッドは非推奨です。代わりにイベント コンストラクターを使用してください。

JS イベント コンストラクターのグーグル検索はあまり実りがありませんでした。トピックはコンストラクター全般について話していますが、私が探しているものではありません。イベントコンストラクターとは何かを説明し、その使用法の良い例を提供してもらえますか?

4

2 に答える 2

0

addEventListener() を使用したい

https://developer.mozilla.org/en-US/docs/DOM/EventTarget.addEventListener

イベントをアタッチするためのライブラリ コードは次のとおりです。これらを stackoverflow で見つけて、アプリのグローバル名前空間内に配置しました。

var app={}

app.listenEvent=function(eventTarget, eventType, eventHandler) { 
   if (eventTarget.addEventListener) {
      eventTarget.addEventListener(eventType, eventHandler,false); 
   } 
  else if (eventTarget.attachEvent) {
      eventType = "on" + eventType;
      eventTarget.attachEvent(eventType, eventHandler); 
  } 
  else {
     eventTarget["on" + eventType] = eventHandler; 
  }
}


app.cancelEvent=function(event) {
    if (event.preventDefault) 
       event.preventDefault()
    else 
       event.returnValue = false; 
}


app.cancelPropagation=function(event) {
    if (event.stopPropagation) { 
        event.stopPropagation();
    } else {
     event.cancelBubble = true; }
 }

したがって、イベントのリッスンを追加するには:

app.listenEvent(document.aform.afield, 'focus', function(){console.log(arguments)} )

これらの機能は素晴らしく、すべてのブラウザで動作します。

于 2013-04-12T05:00:02.923 に答える