118.dom2兼容處理this問題

 

<script type="text/javascript">
    /*
    *bind:處理dom2級事件綁定的兼容性問題(綁定方法)
    * @parameter:
    *   curEle:要綁定事件的元素
    *   eventType:要綁定的事件類型(「click」,「mouseover」...)
    *   evenFn:要綁定的方法
    */
    function bind(curEle,evenType,evenFn) {
        if("addEventListener" in document) {
            curEle.addEventListener(evenType,evenFn,false);
            return;
        }
        // 給原有函數evenFn化妝
        var tempFn = function () {
            evenFn.call(curEle)
        }
        // 首先判斷該自定義屬性以前是否存在,不存在的話建立一個,因爲要存儲多個方法化妝後的結果,因此,咱們讓其值是一個數組
        if (!curEle["myBind"]){
            curEle["myBind"] = []
        } else {
            curEle["myBind"].push(tempFn)
        }
        curEle.attachEvent("on"+evenType, tempFn);
    }
    function unbind(curEle,evenType,evenFn) {
        if("removeEventListener" in document) {
            curEle.removeEventListener(evenType,evenFn,false);
            return;
        }
        curEle.detachEvent("on"+evenType,tempFn);
    }
</script>
相關文章
相關標籤/搜索