javascript 兼容各个浏览器的事件

 更新时间:2015年02月04日 09:14:49   投稿:hebedich  
这篇文章主要介绍了javascript 兼容各个浏览器的事件,需要的朋友可以参考下

调用事件:

事件对象
什么是事件对象?在触发dom上的事件是都会产生一个事件对象event。例如鼠标点击的时候,自己就会产生比如点击的类型啊 还要那个元素发出的
dom 事件对象   type 属性用于获取事件对象, target属性 用于获取事件目标,stopPropagation()方法 阻止事件冒泡 preventDefault阻止事件的默认行为
IE中的事件对象  type 属性 用于获取事件对象, srcElement属性 用于获取事件目标 cancelBubble属性  用于阻止事件冒泡  设置为true是表示阻止 false表示不阻止
returnValue  属性 用于阻止事件的默认行为 设置为false的时候表示阻止

复制代码 代码如下:

// 兼容各个浏览器  跨浏览器事件处理------- 统一进行封装
var EventHandle = {
    // element : 元素 , type: 点击事件 ,handle : 实行的方法
    //添加句柄
    addEventHandle: function (element, type, handler) {
        if (element.addEventListener) {
            element.addEventListener(type, handler, false);//---false  //代表冒泡 dom2级
        }
        else if (element.attachEvent) {
            element.attachEvent("on"+type, handler);
        } else {
            element["on" + type] = handler;
        }
    },
    //删除句柄  事件处理不起作用
    removeEventHandle: function (element, type, handler) {
        if (element.removeEventListener) {   // 支持dom2级的事件处理  type是 onclick
            element.removeEventListener(type, handler, false); //---false  //代表冒泡
        }
        else if (element.detachEvent) {
            element.detachEvent("on"+type, handler);  //支持IE 
        } else {
            element["on" + type] = null;// dom0级事件处理   传统的点击事件
        }
    },
    //获取事件对象 兼容浏览器的所有对象
    getEvent: function (event) {
        return event ? event : window.event;  //在IE浏览器的低版本中需要的是window.event
    },
    //获取事件类型  是点击呢还是鼠标移动
    getType:function(event){
        return event.type;
    },
    //获取当前的那个元素
    getElement: function (event) {
        return event.target || event.srcElement;
    },
    //阻止事件的默认行为
        : function (event) {
        if (event.preventDefault) {
            event.preventDefault();
        }
        else {
            event.returnValue = false;
        }
    },
    //阻止事件冒泡
    stopPropagation: function (event) {
        if (event.stopPropagation) {
            event.stopPropagation();
        }
        else {
            event.cancelBubble = true;
        }
    }
}

相关文章

  • django admin 使用SimpleUI自定义按钮弹窗框示例

    django admin 使用SimpleUI自定义按钮弹窗框示例

    Django 后台admin有大量的属性和方法,拥有强大的功能和自定义能力,这篇文章主要介绍了django admin 使用SimpleUI自定义按钮弹窗框示例,需要的朋友可以参考下
    2023-04-04
  • 基于JavaScript实现焦点图轮播效果

    基于JavaScript实现焦点图轮播效果

    这篇文章主要为大家详细介绍了基于JavaScript实现焦点图轮播效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • 纯JS代码实现一键分享功能

    纯JS代码实现一键分享功能

    在qq空间,新浪微博,人人网等网络平台大家经常可以看到一键分享功能,那么基于js代码是如何实现一键分享的呢?下面脚本之家小编给大家介绍js实现一键分享功能的代码,需要的朋友参考下吧
    2016-04-04
  • 分析javascript中9 个常见错误阻碍你进步

    分析javascript中9 个常见错误阻碍你进步

    这篇文章主要介绍了分析javascript中9 个常见错误阻碍你进步的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • js数组转json并在后台对其解析具体实现

    js数组转json并在后台对其解析具体实现

    这篇文章主要介绍了js数组转json并在后台对其解析具体实现,有需要的朋友可以参考一下
    2013-11-11
  • JS弹出层的显示与隐藏示例代码

    JS弹出层的显示与隐藏示例代码

    关于JS弹出层的显示与隐藏,在网上可以搜到很多的类似教程,本文实现了一下,喜欢的朋友不要错过
    2013-12-12
  • 详解webpack4之splitchunksPlugin代码包分拆

    详解webpack4之splitchunksPlugin代码包分拆

    这篇文章主要介绍了详解webpack4之splitchunksPlugin代码包分拆,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Three.js获取鼠标点击的三维坐标示例代码

    Three.js获取鼠标点击的三维坐标示例代码

    本篇文章主要介绍了Three.js获取鼠标点击的三维坐标示例代码。具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • JS实现仿PS的调色板效果完整实例

    JS实现仿PS的调色板效果完整实例

    这篇文章主要介绍了JS实现仿PS的调色板效果,结合完整实例形式分析了javascript通过运算与动态操作页面元素实现调色板功能的相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-12-12
  • Bootstrap每天必学之导航条

    Bootstrap每天必学之导航条

    Bootstrap每天必学之导航条,本文向大家讲解了多种多样的导航条,以及导航条中元素的实现方法,感兴趣的小伙伴们可以参考一下
    2015-11-11

最新评论