首頁  >  文章  >  web前端  >  EventUtil.addHandler的介紹與使用

EventUtil.addHandler的介紹與使用

零下一度
零下一度原創
2017-07-18 17:49:442443瀏覽

addHandler 方法

        他的指控分別為情境使用DOM0級方法、DOM2級方法或IE方法來新增事件。這個方法屬於一個名字叫EventUtil的對象,可以用這個物件來處理瀏覽器間的差異。 addHandler() 方法接受3個參數:要操作的元素、時間名稱、事件處理程序函數。

與addHandler()方法對應的方法是removeHandler(),它也接受相同參數。這個方法的指控是移除先前新增的事件處理程序-------無論該事件處理程序是採取什麼方式添加到元素中的。如果其他方法無效,預設採用DOM0級方法。

         與addHandler()方法對應的方法是removeHandler(),它也接受相同參數。這個方法的指控是移除先前新增的事件處理程序-------無論該事件處理程序是採取什麼方式添加到元素中的。如果其他方法無效,預設採用DOM0級方法。

//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級方法存在,則使用此方法:傳入事件類型、事件處理程式、和第三個參數false(表示冒泡階段)。

   如果存在的是IE的方法,則採取第二種方案。 (注意,為了在IE8及更早版本中運行,此時的事件類型必須加上「on"前綴。)

   最後一種可能就是使用DOM0級方法。此時,我們使用的是括號語法將屬性名稱指定為事件處理程序或將事件設為null。


#

以上是EventUtil.addHandler的介紹與使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn