<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    JavaScript 跨瀏覽器事件處理(轉)

    Posted on 2013-12-28 15:19 瘋狂 閱讀(1728) 評論(0)  編輯  收藏

    如果項目中沒有使用諸如 jQuery 之類的庫,如何方便地為元素綁定事件,并兼容各種瀏覽器呢?下面這個簡單的 Utility 應該可以考慮。

    var eventUtility = {
    	addEvent : function(el, type, fn) {
    		if(typeof addEventListener !== "undefined") {
    			el.addEventListener(type, fn, false);
    		} else if(typeof attachEvent !== "undefined") {
    			el.attachEvent("on" + type, fn);
    		} else {
    			el["on" + type] = fn;
    		}
    	},
    
    	removeEvent : function(el, type, fn) {
    		if(typeof removeEventListener !== "undefined") {
    			el.removeEventListener(type, fn, false);
    		} else if(typeof detachEvent !== "undefined") {
    			el.detachEvent("on" + type, fn);
    		} else {
    			el["on" + type] = null;
    		}
    	},
    
    	getTarget : function(event) {
    		if(typeof event.target !== "undefined") {
    			return event.target;
    		} else {
    			return event.srcElement;
    		}
    	},
    
    	preventDefault : function(event) {
    		if(typeof event.preventDefault !== "undefined") {
    			event.preventDefault();
    		} else {
    			event.returnValue = false;
    		}
    	}
    };
    

    使用方法示例:

    var eventHandler = function(evt) {
    	var target = eventUtility.getTarget(evt),
    		tagName = target.tagName;
    
    	if(evt.type === "click") {
    		if(tagName === "A" || tagName === "BUTTON") {
    			alert("You clicked on an A element, and the innerHTML is " + target.innerHTML + "!");
    			eventUtility.preventDefault(evt);
    		}
    	} else if(evt.type === "mouseover" && tagName === "A") {
    		alert("mouseovered " + target.innerHTML);
    	}
    	
    };
    
    eventUtility.addEvent(document, "click", eventHandler);
    eventUtility.addEvent(document, "mouseover", eventHandler);
    
    eventUtility.removeEvent(document, "mouseover", eventHandler);
    

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲日本视频在线观看| 亚洲精品乱码久久久久66| 亚洲精品在线播放| 免费无码又爽又刺激网站直播| 免费a级毛片大学生免费观看 | 免费高清av一区二区三区| 亚洲一卡2卡3卡4卡乱码 在线| 99ee6热久久免费精品6| 亚洲人成网址在线观看| 久视频精品免费观看99| 亚洲国产情侣一区二区三区| 亚洲精品视频在线免费| 亚洲中文无码线在线观看| 国产卡一卡二卡三免费入口| 亚洲熟妇无码AV| 日本牲交大片免费观看| 日韩免费在线中文字幕| 国产亚洲一区二区在线观看| 免费国产午夜高清在线视频 | 亚洲人成电影网站久久| 免费看大黄高清网站视频在线| 亚洲另类无码专区丝袜| 亚洲VA综合VA国产产VA中| 中文字幕免费在线看线人动作大片| 亚洲国产精品无码专区影院| 国产精品免费无遮挡无码永久视频| 久久久久亚洲精品天堂| 午夜毛片不卡免费观看视频| 免费无码国产在线观国内自拍中文字幕 | 亚洲人成电影福利在线播放| 青青草a免费线观a| 杨幂最新免费特级毛片| 久久精品国产亚洲香蕉| 久久不见久久见中文字幕免费| 黄人成a动漫片免费网站| 亚洲国产精品VA在线看黑人 | 日韩毛片一区视频免费| 无码久久精品国产亚洲Av影片| 99久久99这里只有免费费精品| 黄网站色成年片大免费高清| 亚洲男人天堂2017|