zoukankan      html  css  js  c++  java
  • 事件兼容方法

    ie                      w3c
    window.event     event
    srcElement         target                     事件源
    returnValue        preventDefault             取消给定事件的默认行为
    cancelBubble       stopPropagation            停止事件冒泡
    attachEvent        addEventListener           绑定多个事件
    detachEvent        removeEventListener        移除多个事件


    eg:

    W3C addEventListener(事件,函数,布尔) removeEventListener(事件,函数,布尔)this作用域是当前元素
    ie attachEvent(事件处理程序名称,函数)  detachEvent(); this作用域是window

    btn.addEventListener("click",function(){alert(this.id)},false);
    btn.addEventListener("click",function(){alert("hello")},false);
    btn.removeEventListener()//不能移除匿名函数

    //跨浏览器方法:
    //获取事件对象
    function getEvent(event){
        return event?event:window.event;

    }
    //获得事件源
    function getTarget(event){
        return event.target||event.srcElement;
    }
    //取消默认行为
    function preventDefault(event){
        if(event.preventDefault){
            event.preventDefault();
        }else{
            event.returnValue=false;
        
        }
    }
    //阻止事件冒泡
    function stopPropagation(event){
        if(event.stopPropagation){
            event.stopPropagation();
        }else{
            event.cancelBubble=true;
        }
    }
    //获取相关元素

    function getRelatedTaarget(event){

        if(event.relatedTarget){
            return event.relatedTarget;
            
        }else if(event.toElement){//ie mouseout的相关元素
            return event.toElement
        
        }else if(event.fromElement){//ie mouseover的相关元素
            return event.fromElement
        
        }else{
            return null;
        }
    }

  • 相关阅读:
    Node.js系列基础学习-----回调函数,异步
    Git版本控制工具学习
    大三下学期计划
    JavaScript基础插曲---apply,call和URL编码等方法
    JavaScript基础插曲-练习
    Jira内存调整
    IntelliJ IDEA 简单设置
    介绍一个国内强大的API接口文档写作网站showdoc
    使用IntelliJ IDEA 配置Maven(入门)
    Jira内存调整
  • 原文地址:https://www.cnblogs.com/xiaomier/p/2937545.html
Copyright © 2011-2022 走看看