关于绑定和解绑的兼容代码

//为任意元素绑定任意事件
function addEventListener(element,type,fn) {
//判断浏览器是否支持这个方法
  if(typeof (element.addEventListener)!=‘undefined‘){
    element.addEventListener(type,fn,false);
  }else if(typeof(element.attachEvent)!=‘undefined‘){
    element.attachEvent("on"+type,fn);
  }else{
    element["on"+type]=fn;//不是绑定多个,直接注册一个
  }
  }
//为任意元素解绑任意的事件
function removeEventListener(element,type,fn) {
  if(element.removeEventListener){
    element.removeEventListener(type,fn,false);
  }else if(element.detachEvent){
//IE浏览器
    element.detachEvent("on"+type,fn);
  }else{
    element["on"+type]=null;
}
}

时间: 2024-10-26 05:54:15

关于绑定和解绑的兼容代码的相关文章

原生js绑定和解绑事件,兼容IE,FF,chrome

主要是最近项目中用到了原生的js 解绑和绑定 事件  然后今天研究了一下,其实问题不大,不过要注意不要把单词写错了,今天我就找了好久单词写错了. 需求:当鼠标移上去以后,给Select加载元素,接着解除这个事件.贴上代码,这个是可以运行的,兼容 IE FF chrome 1 <html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=gb2312&qu

11-jQuery的事件绑定和解绑

1.绑定事件 语法: bind(type,data,fn) 描述:为每一个匹配元素的特定事件(像click)绑定一个事件处理器函数. 参数解释: type (String) : 事件类型 data (Object) : (可选) 作为event.data属性值传递给事件对象的额外数据对象 fn ( Function) : 绑定到每个匹配元素的事件上面的处理函数 示例: 当每个p标签被点击的时候,弹出其文本 $("p").bind("click", function(

jQuery的事件绑定和解绑

1.绑定事件 $('获取的标签对象').bind('要操作的方法,  {操作的内容  是字典的形式},function(){} ') 语法: bind(type,data,fn) 描述:为每一个匹配元素的特定事件(像click)绑定一个事件处理器函数. 参数解释: type (String) : 事件类型 data (Object) : (可选) 作为event.data属性值传递给事件对象的额外数据对象 fn ( Function) : 绑定到每个匹配元素的事件上面的处理函数 示例: 当每个p

事件的绑定和解绑 (jQuery)

1on()的多事件绑定 之前学的鼠标事件,表单事件与键盘事件都有个特点,就是直接给元素绑定一个处理函数,所有这类事件都是属于快捷处理.翻开源码其实可以看到,所有的快捷事件在底层的处理都是通过一个"on"方法来实现的.jQuery on()方法是官方推荐的绑定事件的一个方法. 基本用法:.on( events ,[ selector ] ,[ data ] ) 最常见的给元素绑定一个点击事件,对比一下快捷方式与on方式的不同 $("#elem").click(func

RabbitMQ 使用 Policies-HTTP API 绑定和解绑 DLX

需求: exchange 和 queue 都能重复声明不会影响已有数据,但是 DLX 只能在 queue 第一次创建的时候一起定义,否则运行时就需要通过 WEB UI 或者 rabbitmqctl set_policy 命令行指令来添加 DLX.如果对已经存在的 queue 使用 java API 的方式添加 DLX 绑定则会报错.而我在写demo时定义了默认的 exchange 和 queue,所以希望默认的 dlx 也能通过 java API 方式重复声明. 解决方案: 去官网找了一些 HT

dpdk网卡绑定和解绑

一.绑定网卡失败后不需要重启虚拟机的方法(以e1000为例): 1.绑定igb_uio前: 2.  绑定igb_uio: 1)找到该port的vendor id: vim/sys/devices/pci0000\:00/0000\:00\:07.0/vendor 2)找到该port的device id: vim/sys/devices/pci0000\:00/0000\:00\:07.0/ device 3)  重新绑定该port: echo "8086100e" > /sys/

bind,unbing,on,live,delegate绑定和解绑事件

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content=&q

LINUX驱动手动绑定和解绑定

Linux内核从2.6.13-rc3开始,提供了在用户空间,可动态的绑定和解绑定设备和设备驱动之间关系的功能.在这之前,只能通过insmod(modprobe)和rmmod来绑定和解绑,而且这种绑定和解绑都是针对驱动和所有设备的.而新的功能可以设置驱动和单个设备之间的联系. 这里,我们以pci总线的nvme ssd为例,首先执行lspci显示所有的nvme ssd. # lspci | grep memory01:00.0 Non-Volatile memory controller: Sams

Linux驱动手动绑定和解绑定方法

linux内核从2.6.13-rc3开始,提供了在用户空间,可动态的绑定和解绑定设备和设备驱动之间关系的功能.在这之前,只能通过insmod(modprobe)和rmmod来绑定和解绑,而且这种绑定和解绑都是针对驱动和所有设备的.而新的功能可以设置驱动和单个设备之间的联系. 这里,我们以pci总线的nvme ssd为例,首先执行lspci显示所有的nvme ssd. # lspci | grep memory01:00.0 Non-Volatile memory controller: Sams