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;
}
}

js 任意元素解绑任意事件的兼容代码的更多相关文章

  1. JS 为任意元素添加任意事件的兼容代码

    为元素绑定事件(DOM):有两种 addEventListener 和 attachEvent:   相同点: 都可以为元素绑定事件 不同点: 1.方法名不一样 2.参数个数不一样addEventLi ...

  2. jQuery---jQ动画(普通,滑动,淡入淡出,自定义动画,停止动画),jQuery的事件,jQ事件的绑定/解绑,一次性事件,事件委托,事件冒泡,文档加载

    jQuery---jQ动画(普通,滑动,淡入淡出,自定义动画,停止动画),jQuery的事件,jQ事件的绑定/解绑,一次性事件,事件委托,事件冒泡,文档加载 一丶jQuery动画 show,hide, ...

  3. jQuery---事件解绑与事件触发

    事件解绑与事件触发 $("p").off("click"); $("#btn").on("click", functio ...

  4. JS---DOM---为元素绑定事件和解绑事件的兼容代码

    1. 绑定事件的兼容 function addEventListener(element,type,fn) { if(element.addEventListener){ element.addEve ...

  5. jQuery - 03. each、prevaAll、nextAll、获取属性、修改属性attr/val/text()、jq.height/width、offset()./position()./scrol Left/Top 、事件绑定bind、delegate、on、事件解绑、事件对象、多库共存

    each 方法 $ ( selector).each(function( index,element) {  } );   参数一表示当前元素在所有匹配元素中的索引号 参数二表示当前元素(DOM对象) ...

  6. jQuery 学习笔记(5)(事件绑定与解绑、事件冒泡与事件默认行为、事件的自动触发、自定义事件、事件命名空间、事件委托、移入移出事件)

    1.事件绑定: .eventName(fn) //编码效率略高,但部分事件jQuery没有实现 .on(eventName, fn) //编码效率略低,所有事件均可以添加 注意点:可以同时添加多个相同 ...

  7. js 动态绑定解绑事件

    function addEvent(obj, type, handle) { if (obj.addEventListener) { obj.addEventListener(type, handle ...

  8. 从零开始学 Web 之 DOM(六)为元素绑定与解绑事件

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... +-------------------------------------------------------- ...

  9. 使用JavaScript动态的绑定、解绑 a 标签的onclick事件,防止重复点击

    页面上的 a 标签如下: <a class="more" style="cursor: pointer;" id="commentMore&qu ...

随机推荐

  1. SQL语句 表字段的操作 添加,删除,修改表的字段

    alter table 表名 drop constraint 约束名字   //删除字段的原有约束 alter table 表名 add constraint 约束名字 DEFAULT 默认值 for ...

  2. java tcp socket实例

    java tcp socket实例 2011-04-20 13:58 2364人阅读 评论(1) 收藏 举报 socketjavatcpthreadserverclass package com.ne ...

  3. jquery on事件在IE8下失效的一种情况,及解决方法/bootstrap空间绑定控件事件不好用

    同事在复制bootstrap中的select控件之后,发现用$('.selectpicker').selectpicker();刷新下拉框控件不好使,后来发现是用原生js克隆的方法obj.cloneN ...

  4. ubuntu PCL的使用

    cmake_minimum_required(VERSION 2.8) project(MY_GRAND_PROJECT) find_package(PCL 1.3 REQUIRED COMPONEN ...

  5. struts2 、mybatis 、easyui 分页

    rows page 控件自动提交这两个参数 pageSize number The page size. 10pageNumber number Show the page number when p ...

  6. PS插件开发plugin

    Photoshop插件开发 VC++制作Photoshop自动化插件:http://blog.sina.com.cn/s/blog_73c52fda0101c7hw.html Photoshop 的扩 ...

  7. MATLAB读取写入文本数据最佳方法 | Best Method for Loading & Saving Text Data Using MATLAB

    MATLAB读取文件有很多方法.然而笔者在过去进行数据处理中,由于函数太多,相互混杂,与C#,Python等语言相比,反而认为读取文本数据比较麻烦.C#和Python等高级语言中,对于大部分的文本数据 ...

  8. Redis主从服务部署

    Redis__WindowsServer主从服务部署及调用实例       一.先谈谈单个Redis服务的安装         使用的redis是2.8.17版本,从官网下载解压缩后文件内容为:   ...

  9. Android Butterknife框架 注解攻略

    一.原理. 最近发现一个很好用的开源框架,蛮不错的,可以简化你的代码,是关于注解的.不多说直接进入使用步骤讲解. 二.步骤. 1.准备阶段,先到官网( http://jakewharton.githu ...

  10. Replication--复制问答

    在发布表尾部增加字段,需要重新初始化订阅么?答:在发布表尾部增加字段,不需要不需要重新初始化订阅,该修改会自动同步到订阅段,也不需要对复制做任何修改.但如果在同一个发布中增加新的项目,需要重新初始化订 ...