麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

js跨瀏覽器的事件偵聽器和事件對象的使用方法

2019-11-20 10:59:48
字體:
供稿:網(wǎng)友

本文特意為跨瀏覽器實現(xiàn)添加事件偵聽器和跨瀏覽器事件對象的使用方法做了下總結,并把這些方法打包,歡迎大家學習。
打包的一個EventUtil對象

var EventUtil = {    // 添加偵聽事件    addEventListener:function (element, type, handler) {      // IE9+、Firefox、Safari、chrome和Opera      if(element.addEventListener) {        element.addEventListener(type, handler, false);      }      // IE8-      else if(element.attachEvent) {        element.attachEvent("on" + type, handler);      }    },        // 移除偵聽事件    removeEventListener:function (element, type, handler) {      // IE9+、Firefox、Safari、chrome和Opera      if(element.addEventListener) {        element.removeEventListener(type, handler, false);      }      // IE8-      else if(element.attachEvent) {        element.detachEvent("on" + type, handler);      }    },        // 獲取事件對象    getEvent:function(event) {      if(typeof event == "undefined") {        event = window.event; // IE瀏覽器      }      return event;    },        // 獲取觸發(fā)事件的元素    getTarget:function(event){      if(typeof event.srcElement == "undefined") {        return event.target;      }else {        return event.srcElement; // IE瀏覽器      }    },        // 獲取事件類型    getType:function(event) {      return event.type;    },        // 獲取按鍵鍵碼    getCharCode:function(event) {      if(typeof event.keyCode == "number") {        return event.keyCode; // IE8-、Firefox和opera      }else {        return event.charCode;       }    },        // 獲取鼠標相對于文檔的位置,即頁面坐標位置    getPagePosition:function(event) {      var pageX = event.pageX,        pageY = event.pageY;      if(pageX == undefined) {        pageX = event.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft);      }      if(pageY == undefined) {        pageY = event.clientY + (document.body.scrollTop || document.documentElement.scrollTop);      }      return {        pageX:pageX,        pageY:pageY      };    },        // 阻止事件的默認行為    preventDefault:function(event) {      if(event.preventDefault){        event.preventDefault();      }else {        event.returnValue = false; // IE瀏覽器      }    },        // 阻止事件冒泡    stopPropagation:function(event) {      if(typeof event.cancelBubble == "undefined") {        event.stopPropagation();      }else {        event.cancelBubble = true; // IE瀏覽器      }    }  };

測試代碼

<div id="box" style="color:red;width: 100%;height:200px;" >  <input type="button" value="點擊" id="btn" /></div><a  id="a">test</a>
var box = document.querySelector("#box");  box.onclick = function(event) {    event = EventUtil.getEvent(event);    alert(EventUtil.getType(event));    alert(EventUtil.getTarget(event));  };  var input = document.querySelector("input");  input.onclick = function(event) {    event = EventUtil.getEvent(event);    EventUtil.stopPropagation(event);  };    var a = document.getElementById("a");  a.onclick = function(event) {    event = EventUtil.getEvent(event);    EventUtil.preventDefault(event);  };

以上就是跨瀏覽器實現(xiàn)添加事件偵聽器和跨瀏覽器事件對象的使用方法,希望對大家的學習有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 成人免费一区二区 | 91九色视频 | 一本视频在线观看 | 国产一级淫片免费看 | 在线播放的av网站 | 国产91一区二区三区 | 天堂福利电影 | 午夜伦情电午夜伦情电影 | 国产精品一品二区三区四区18 | 九九精品在线观看视频 | av在线免费看网站 | 精品国产乱码久久久久久丨区2区 | 亚洲第一页在线观看 | 中文在线国产 | 国产亚洲精品成人 | 久草在线高清 | 深夜福利久久久 | 欧美日韩国产一区二区三区在线观看 | 黄色片网站在线看 | 欧美一级黄色录相 | 国产精品www| 国产午夜亚洲精品午夜鲁丝片 | 91精品国产九九九久久久亚洲 | 日本欧美视频 | 欧美成人精品 | 黄色av.com| 在线观看免费污视频 | 国产91av视频| 欧美日韩一 | 国产一区二区观看 | 日本在线观看视频网站 | 欧美18一19sex性护士农村 | 一级电影中文字幕 | 一级毛片真人免费播放视频 | 久久久久一区二区三区四区五区 | 免费亚洲视频在线观看 | 欧美18—19sex性hd按摩 | 国产亚洲精品影达达兔 | cosplay裸体福利写真 | 毛片在线免费观看完整版 | 日韩毛片免费观看 |