<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 瘋狂 閱讀(1729) 評論(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无码免费网站下载| 黄色片网站在线免费观看| 99视频免费播放| 亚洲精品视频在线| 亚洲一区二区三区乱码在线欧洲| 97视频免费观看2区| 亚洲人成网站在线播放影院在线| 永久免费av无码网站yy| 亚洲国产精品lv| 香港a毛片免费观看| 久久精品国产亚洲AV香蕉| 18禁止看的免费污网站| 久久亚洲精精品中文字幕| 久久久久久精品免费看SSS| 亚洲日本韩国在线| 中文字幕亚洲综合久久综合| 成人片黄网站A毛片免费| 亚洲精品欧美综合四区| www视频免费看| 亚洲综合激情五月丁香六月| 久久精品无码专区免费青青| 亚洲一区AV无码少妇电影☆| 永久免费av无码入口国语片| 亚洲国产精品久久久久婷婷老年 | 免费看又黄又无码的网站| 久久精品亚洲中文字幕无码麻豆 | 日本免费中文字幕| 亚洲美女视频网站| 可以免费观看的国产视频| 亚洲综合无码一区二区三区| 成人黄页网站免费观看大全| 亚洲午夜电影在线观看| 午夜网站免费版在线观看| 日本高清免费中文在线看| 免费中文字幕在线| 久久99精品视免费看| 亚洲欧美日韩中文高清www777| 亚洲高清免费视频| 免费一级毛片在线播放放视频| 久久精品国产精品亚洲艾|