<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);
    

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


    網站導航:
     
    主站蜘蛛池模板: 免费不卡在线观看AV| 日日躁狠狠躁狠狠爱免费视频| 青青操免费在线观看| 国产亚洲精品拍拍拍拍拍| 国产V片在线播放免费无码| 亚洲日本中文字幕一区二区三区 | 一级中文字幕乱码免费| 亚洲不卡AV影片在线播放| jizz18免费视频| 亚洲精品成人片在线观看精品字幕| a级片免费观看视频| 亚洲AV日韩AV永久无码下载| 99久久精品免费精品国产| 亚洲日本乱码一区二区在线二产线 | 日本一卡精品视频免费| 久久亚洲AV成人无码| 国产三级在线观看免费| 亚洲精品无码高潮喷水A片软| 国产婷婷高清在线观看免费| 日韩一级片免费观看| 亚洲成a人片在线观看无码专区| 可以免费观看的国产视频| 亚洲精品国产免费| 24小时免费直播在线观看| 成人精品国产亚洲欧洲| 久久久久无码专区亚洲av| 日韩精品内射视频免费观看| 7777久久亚洲中文字幕| 亚洲人成人网站在线观看| 99re免费在线视频| 亚洲精华国产精华精华液好用| 国产偷窥女洗浴在线观看亚洲| 久久大香伊焦在人线免费| 亚洲色偷精品一区二区三区| 中文字幕在线亚洲精品| 91麻豆最新在线人成免费观看 | 日本高清免费不卡视频| 免费看无码特级毛片| 亚洲Av高清一区二区三区| 亚洲一区日韩高清中文字幕亚洲| 久久免费动漫品精老司机|