addHandler メソッド
彼の非難は、DOM0 レベルのメソッド、DOM2 レベルのメソッド、または IE メソッドがイベントの追加に使用されているということです。このメソッドは EventUtil という名前のオブジェクトに属しており、ブラウザ間の違いを処理するために使用できます。 addHandler() メソッドは、操作対象の要素、時刻名、イベント ハンドラー関数の 3 つのパラメーターを受け入れます。
addHandler() メソッドに対応するメソッドは、removeHandler() で、これも同じパラメータを受け入れます。このメソッドの目的は、イベント ハンドラーが要素にどのように追加されたかに関係なく、以前に追加されたイベント ハンドラーを削除することです。他のメソッドが無効な場合は、DOM レベル 0 メソッドがデフォルトで使用されます。
addHandler() メソッドに対応するメソッドは、removeHandler() で、これも同じパラメータを受け入れます。このメソッドの目的は、イベント ハンドラーが要素にどのように追加されたかに関係なく、以前に追加されたイベント ハンドラーを削除することです。他のメソッドが無効な場合は、DOM レベル 0 メソッドがデフォルトで使用されます。
//EventUtilvar EventUtil = { addHandler: function (element, type, handler) {if (element.addEventListener) { //DOM2级 element.addEventListener(type, handler, false); } else if (element.attachEvent) { //DOM1级 element.attachEvent("on" + type, handler); } else { element["on" + type] = handler; //DOM0级 } }, removeHandler: function (element, type, handler) { //类似addHandlerif (element.removeEventListener) { element.removeEventListener(type, handler, false); } else if (element.detachEvent) { element.detachEvent("on" + type, handler); } else { element["on" + type] = null; } } }var btn1 = document.getElementById("myBtn1");var handler = function () { alert("hello handler"); } EventUtil.addHandler(btn1, "click", handler);
使用法:
メソッドは最初に DOM2 レベルのメソッドをチェックします。DOM2 レベルのメソッドが存在する場合は、このメソッドを使用します。イベント タイプ、イベント ハンドラー、および 3 番目のパラメーター false (バブリングを示します) を渡します。段階)。
IE方式が存在する場合は、2番目のオプションを採用します。 (IE8 以前のバージョンで実行するには、この時点でイベント タイプの先頭に "on" を付ける必要があることに注意してください。)
最後の可能性は、DOM0 レベルのメソッドを使用することです。この時点では、ブラケット構文を使用して、イベント ハンドラーとしてプロパティ名を指定するか、イベントを null に設定します。
以上がEventUtil.addHandler の紹介と使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。