js事件兼容写法


title: js事件兼容写法
date: 2017-11-16 21:58:30
tags:


js文件下载:<font style="color: blue;">https://github.com/liuyydi/public</font>

<font style="color:#8d0000;">绑定事件兼容各个浏览器的写法</font>

<font style = "color: #8d0080;">参数:</font>

<font style="color: #000088;">element:</font>代表要绑定事件的元素
<font style="color: #000088;">type:</font>要绑定的事件名,(不含“on”)
<font style="color: #000088;">fn:</font>绑定事件的函数

    function addEvent(element,type,fn){
        if(element.addEventListener){
            element.addEventListener(type,fn,true);
        }else if(element.attachEvent){
            element.attachEvent("on"+type,fn);
        }else{
            element["on"+type]=fn;
        }
    }

<font style="color:#8d0000;">移除事件兼容各个浏览器的写法</font>

<font style = "color: #8d0080;">参数:</font>

<font style="color: #000088;">element:</font>代表要移除事件的元素
<font style="color: #000088;">type:</font>要要移除的事件名,(不含“on”)
<font style="color: #000088;">fn:</font>移除事件的函数

    function removeEvent(element,type,fn){
        if(element.removeEventListener){
            element.removeEventListener(type,fn,false);
        }else if(element.detachEvent){
            element.detachEvent("on"+type,fn);
        }else{
            element["on"+type]=null;
        }
    }

<font style="color:#8d0000;">取消冒泡兼容各个浏览器的写法</font>

<font style = "color: #8d0080;">参数:</font>

<font style="color: #000088;">ev: </font>要取消冒泡的事件对象

    function stopBubble(ev){
        if(ev && ev.stopPropagation){
            ev.stopPropagation();
        }else{
            ev.cancelBubble=true;
        }
    }

<font style="color:#8d0000;">获取计算后样式兼容的写法</font>

<font style = "color: #8d0080;">参数:</font>

<font style="color: #000088;">element: </font>要获取样式的元素
<font style="color: #000088;">key: </font>要获取的样式

    function getStyle(element,key,wei){
        if(element.currentStyle){
            return element.currentStyle[key];
        }else{
            if(wei==undefined){
                wei=null;
            }
            return getComputedStyle(element,wei)[key];
        }
    }

<font style="color:#8d0000;">滚轮事件兼容各个浏览器的写法</font>

<font style = "color: #8d0080;">参数:</font>

<font style="color: #000088;">ele: </font>要绑定滚轮事件的元素
<font style="color: #000088;">fn: </font>滚轮事件要执行的函数

    function addMousewheel(ele,fn){
        if(navigator.userAgent.indexOf("Firefox")!=-1){
            // 火狐
            ele.addEventListener("DOMMouseScroll",fn,false);
        }else{
            // 谷歌、IE
            ele.onmousewheel=fn;
        }
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 3,615评论 1 19
  • 请参看我github中的wiki,不定期更新。https://github.com/ivonzhang/Front...
    zhangivon阅读 7,264评论 2 19
  • 闲聊着说起你 想着你 想着你的好 你对朋友的热情 你关爱朋友 你从没有计较得失 你的无私付出 更让我想念 我想你 ...
    小草_d5ad阅读 187评论 9 12
  • 相比较直接读那些充满智慧和晦涩难懂的哲学,这本哲学的慰籍无疑是从其最简明的意义上向我们展示了,苏格拉底所说...
    风下有我的孤独阅读 850评论 0 4