zoukankan      html  css  js  c++  java
  • js 任意元素解绑任意事件的兼容代码

    hmtl代码:
    <input type="button" value="按钮" id="btn"/>
    <input type="button" value="干掉第一个按钮的事件" id="btn2"/>
    解绑事件有三种:
     
    注意:用什么方式绑定事件,就应该用对应的方式解绑事件
      1.解绑事件(IE 谷歌 火狐都支持 但是得对于的ON事件)
        对象.on事件名字=事件处理函数--->绑定事件
        对象.on事件名字=null;
     my$("btn").onclick=function () {
       console.log("我猥琐");
     };
     my$("btn2").onclick=function () {
       //1.解绑事件
       my$("btn").onclick=null;
     };
      2.解绑事件(谷歌.火狐支持 IE不支持)
        对象.addEventListener("没有on的事件类型",命名函数,false);---绑定事件
        对象.removeEventListener("没有on的事件类型",函数名字,false);
     
    function f1() {
       console.log("第一个");
     }
     function f2() {
       console.log("第二个");
     }
    
     my$("btn").addEventListener("click",f1,false);
     my$("btn").addEventListener("click",f2,false);
    
     //点击第二个按钮把第一个按钮的第一个点击事件解绑
     my$("btn2").onclick=function () {
       //解绑事件的时候,需要在绑定事件的时候,使用命名函数
       my$("btn").removeEventListener("click",f1,false);
     };
      3.解绑事件(注意这个是ie支持 其他不支持)
        对象.attachEvent("on事件类型",命名函数);---绑定事件
        对象.detachEvent("on事件类型",函数名字);
    function f1() {
        console.log("第一个");
      }
      function f2() {
        console.log("第二个");
      }
      my$("btn").attachEvent("onclick",f1);
      my$("btn").attachEvent("onclick",f2);
    
      my$("btn2").onclick=function () {
          my$("btn").detachEvent("onclick",f1);
      };

    为了解决IE与谷歌 火狐的兼容:

    //解绑事件的兼容
      //为任意的一个元素,解绑对应的事件
      //element 元素  type 事件类型 fnName 事件处理的函数
      function removeEventListener(element,type,fnName) {
        if(element.removeEventListener){
          element.removeEventListener(type,fnName,false);
        }else if(element.detachEvent){
          element.detachEvent("on"+type,fnName);
        }else{
          element["on"+type]=null;
        }
      }
  • 相关阅读:
    linq教程
    linq 多表分组查询统计
    System.Diagnostics.Trace.Listeners
    linq多表join与group
    LINQ的左连接、右连接、内连接
    linq pad
    开源项目
    linq group join
    OWIN OAuth 2.0 Authorization Server
    autofac + owin + webform + mvc + webapi集成demo
  • 原文地址:https://www.cnblogs.com/wanguofeng/p/10572380.html
Copyright © 2011-2022 走看看