事件函数绑定方式

1.赋值形式及其问题

1 document.onclick=fn;
2 document.onclick=fn1;
3 function fn(){alert(0)}
4 function fn1(){alert(1)}

这样做,第二次赋的值会替换掉第一次的值 ,点击时只会输出1

2.函数形式

  所有IE:obj.attachEvent(事件名称,事件函数)

     a.没有捕获

     b.事件名称有on

     c.事件执行顺序:标准IE正序,非标准倒序

     d.事件函数中this指向window

  标准下(IE9+):obj.addEventListener(事件名称,事件函数,是否捕获(默认为false))

     a.有捕获

     b.事件名称没有on

     c.事件正序执行

     d.this指向触发事件的对象

3.赋值形式事件的取消

  document.onclick=null

4.函数形式事件的取消

  IE:obj.dettachEvent(‘onclick‘,fn1)

  标准下:obj.removeEventListener(‘click‘,fn1,false)   //只会解除相应时间流的事件函数绑定

  

时间: 2024-12-16 02:52:50

事件函数绑定方式的相关文章

【REACT NATIVE 系列教程之三】函数绑定与FLEXBOX是用好REACT的基础

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2222.html Himi在写React 时主要遇到两个知识点觉得很有必要跟大家一起回顾下. 函数绑定 FlexBox 布局 一:函数绑定 首先来看一段代码片段: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 constructor(props) { super(props

移动端和pc端事件绑定方式以及取消浏览器默认样式和取消冒泡

### 两种绑定方式 (DOM0)1.obj.onclick = fn; (DOM2)2. ie:obj.attachEvent(事件名称,事件函数); 1.没有捕获(非标准的ie 标准的ie底下有 ie6到10) 2.事件名称有on 3.事件函数执行的顺序:标准ie->正序 非标准ie->倒序 4.this指向window 标准:obj.addEventListener(事件名称,事件函数,是否捕获); 1.有捕获 2.事件名称没有on 3.事件执行的顺序是正序 4.this触发该事件的对象

jquery中取消和绑定hover事件的正确方式

在网页设计中,我们经常使用jquery去响应鼠标的hover事件,和mouseover和mouseout事件有相同的效果,但是这其中其中如何使用bind去绑定hover方法呢?如何用unbind取消绑定的事件呢?一.如何绑定hover事件先看以下代码,假设我们给a标签绑定一个click和hover事件:$(document).ready(function(){ $('a').bind({ hover: function(e) { //Hover event handler alert("hove

事件封装(多个函数绑定一个事件,预计这样解释不正确)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <!-

jquery中四个事件绑定方式(bind,live,delegate,on)

bind() 简要描述 bind()向匹配元素添加一个或多个事件处理器. 使用方式 $(selector).bind(event,data,function) event:必需项:添加到元素的一个或多个事件,例如 click,dblclick等: 单事件处理:例如 $(selector).bind("click",data,function); 多事件处理:1.利用空格分隔多事件,例如 $(selector).bind("click dbclick mouseout"

【转】jQuery中的bind(),live(),delegate(),on()事件绑定方式的区别

bind()                                                                                                                                                                                                        简要描述 bind()向匹配元素添加一个或多个事件处理器. 使用方式 $(selecto

事件封装(多个函数绑定一个事件,估计这样解释不对)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <!-

事件的三种绑定方式

1.行内式绑定事件处理 <input type="button" value="click" style="color:red" onclick="console.log(this.style.color)"/> 另外一种写法: <input type="button" value="click" style="color:red" onclick=

JavaScript跨浏览器绑定事件函数的优化

转载自:http://www.cnblogs.com/yugege/p/5169998.html JavaScript作为一门基于事件驱动的语言(特别是用在DOM操作的时候),我们常常需要为DOM绑定各种各样的事件.然而,由于低版本的IE的不给力,在绑定事件和移除事件监听上都与众不同,我们常常需要自己封装一个跨浏览器绑定(移除)事件的函数.跨浏览器添加(移除)DOM事件的一种非常经典的实现代码如下: //跨浏览器添加事件 function addHandler(target, eventType