国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

js 實(shí)現(xiàn)一些跨瀏覽器的事件方法詳解及實(shí)例

2019-11-20 08:38:40
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

js實(shí)現(xiàn)一些跨瀏覽器的事件方法

  用JavaScript實(shí)現(xiàn)事件的綁定,移除,以及一些常用的事件屬性的獲取,時(shí)常要考慮到在不同瀏覽器下的兼容性,下面給出了一個(gè)跨瀏覽器的事件對(duì)象:

var EventUtil = {  on: function(element, type, handler) {/* 添加事件 */    if (element.addEventListener) {      element.addEventListener(type, handler, false);    } else if (element.attachEvent) {//IE 注意:此時(shí)事件處理程序會(huì)在全局作用域中運(yùn)行,因此用attachEvent綁定的事件,此時(shí)在事件處理函數(shù)里的this 等于window,使用時(shí)要注意      element.attachEvent("on" + type, handler);    } else {      element["on" + type] = handler;    }  },  off: function(element, type, handler) {/* 移除事件 */    if (element.removeEventListener) {      element.removeEventListener(type, handler, false);    } else if (element.detachEvent) {      element.detachEvent("on" + type, handler);    } else {      element["on" + type] = null;    }  },  getEvent: function(event) {/* 返回對(duì)event對(duì)象的引用 */    return event ? event : window.event;  },  getTarget: function(event) {/* 返回事件的目標(biāo) */    return event.target || event.srcElement;  },  preventDefault: function(event) { /* 取消事件的默認(rèn)行為 */    if (event.preventDefault) {      event.preventDefault();    } else {      event.returnValue = false;    }  },  stopPropagation: function(event) {/* 阻止事件冒泡 */    if (event.stopPropagation) {      event.stopPropagation();    } else {      event.cancelBubble = true;    }  },  /* mouseover 和mouserout 這兩個(gè)事件都會(huì)涉及把鼠標(biāo)指針從一個(gè)元素的邊界之內(nèi)移動(dòng)到另一個(gè)元素的邊界之內(nèi)。*/  getRelatedTarget: function(event) {    if (event.relatedTarget) {      return event.relatedTarget;    } else if (event.toElement) {//IE8 mouserout事件      return event.toElement;    } else if (event.fromElement) {//IE8 mouseover事件      return event.fromElement;    } else {      return null;//其他事件    }  }};

調(diào)用如下:

EventUtil.on(document, "click", function(event){//為document元素綁定click事件  event = EventUtil.getEvent(event);//獲取event事件對(duì)象  alert("Screen coordinates: " + event.screenX + "," + event.screenY);}); 

文章參考自《JavaScript高級(jí)程序設(shè)計(jì)第三版》

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 库伦旗| 都兰县| 曲阳县| 贵定县| 嘉鱼县| 阿勒泰市| 麟游县| 米林县| 湖南省| 民乐县| 卢氏县| 得荣县| 若尔盖县| 贡觉县| 个旧市| 江达县| 芦溪县| 和林格尔县| 民乐县| 高要市| 诸暨市| 呼图壁县| 张掖市| 融水| 许昌县| 瑞丽市| 金平| 长武县| 玛多县| 外汇| 南木林县| 老河口市| 天柱县| 利辛县| 玉环县| 清徐县| 德安县| 兴文县| 札达县| 淳化县| 屏东县|