• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >jquery > js 实现一些跨浏览器的事件方法详解及实例

js 实现一些跨浏览器的事件方法详解及实例

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了js,跨浏览器的事件方法,js跨浏览器的事件方法实现等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

js实现一些跨浏览器的事件方法

  用JavaScript实现事件的绑定,移除,以及一些常用的事件属性的获取,时常要考虑到在不同浏览器下的兼容性,下面给出了一个跨浏览器的事件对象:

var EventUtil = {
  on: function(element, type, handler) {/* 添加事件 */
    if (element.addEventListener) {
      element.addEventListener(type, handler, false);
    } else if (element.attachEvent) {//IE 注意:此时事件处理程序会在全局作用域中运行,因此用attachEvent绑定的事件,此时在事件处理函数里的this 等于window,使用时要注意
      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) {/* 返回对event对象的引用 */
    return event ? event : window.event;
  },

  getTarget: function(event) {/* 返回事件的目标 */
    return event.target || event.srcElement;
  },

  preventDefault: function(event) { /* 取消事件的默认行为 */
    if (event.preventDefault) {
      event.preventDefault();
    } else {
      event.returnValue = false;
    }
  },

  stopPropagation: function(event) {/* 阻止事件冒泡 */
    if (event.stopPropagation) {
      event.stopPropagation();
    } else {
      event.cancelBubble = true;
    }
  },

  /* mouseover 和mouserout 这两个事件都会涉及把鼠标指针从一个元素的边界之内移动到另一个元素的边界之内。*/
  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;//其他事件
    }
  }
};

调用如下:

EventUtil.on(document, "click", function(event){//为document元素绑定click事件
  event = EventUtil.getEvent(event);//获取event事件对象
  alert("Screen coordinates: " + event.screenX + "," + event.screenY);
});
 

文章参考自《JavaScript高级程序设计第三版》

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • jQuery实现键盘回车搜索功能
  • jQuery实现可编辑表格并生成json结果(实例代码)
  • jquery插件canvaspercent.js实现百分比圆饼效果
  • 如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
  • jquery.validate.js 多个相同name的处理方式
  • 关于jQuery.ajax()的jsonp碰上post详解
  • jQuery Jsonp跨域模拟搜索引擎
  • jQuery序列化后的表单值转换成Json
  • jQuery.form.js的使用详解
  • jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解

相关文章

  • jQuery基础知识filter()和find()实例说明
  • 学习使用jquery iScroll.js移动端滚动条插件
  • 老生常谈combobox和combotree模糊查询
  • jQuery操作属性和样式详解
  • 使用jQuery fancybox插件打造一个实用的数据传输模态弹出窗体
  • 浅谈jQuery中的事件
  • jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
  • jQuery实现渐变弹出层和弹出菜单的方法
  • jquery.cookie用法详细解析
  • jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 使用jQuery5分钟快速搞定双色表格的简单实例
    • jQuery时间插件jquery.clock.js用法实例(5个示例)
    • jquery滚动加载数据的方法
    • jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
    • Jquery的Tabs内容轮换效果实现代码,几行搞定
    • jQuery 选择器、DOM操作、事件、动画
    • jquery mobile事件多次绑定示例代码
    • 用jQuery模拟select下拉框的简单示例代码
    • html、css和jquery相结合实现简单的进度条效果实例代码
    • 如何使用jQuery来处理图片坏链具体实现步骤

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有