事件对象

注册事件

  1. 直接给dom对象设置属性,只能给对象设置一个属性,如果设置多个事件处理函数,则最后的生效;
  2. 给html标签设置属性,(若法1和法2同时使用,则法1生效);
  3. 事件注册

    绑定事件监听函数

    addEventListener("click", fun, false); 兼容火狐、google、ie9;

    attachEcent("onclick", fun); 兼容ie8及以下。

    绑定事件监听函数可以和前面两个同时使用

删除事件

  1. btn.onclick = null; 将事件置空,删除事件,可以使用在火狐,google,ie所有浏览器,但不能删除通过绑定监听函数设置的监听事件
  2. removeEventListener 删除事件,兼容火狐,google,ie9

修改this的指向

call函数

​ fun.call(参数1,参数2, 参数3, ...)

执行fun函数,并且将参数1的值赋给this,参数2,参数3作为实参传递给形参。

apply函数

​ fun.apply(参数1,[参数2, 参数3, ...])

执行fun函数,并且将参数1的值赋给this,参数2,参数3作为实参传递给形参,以数组形式传递。

注册事件兼容写法

/*
参数:
给谁添加
事件类型
处理函数 适配标准浏览器和IE低版本
*/
function addEvent(target, type, handler) {
if (target.addEventListener) {
target.addEventListener(type, handler, false);
} else {
window[handler] = function () {
handler.call(target);
}
target.attachEvent("on" + type, window[handler]);
}
}

删除事件兼容写法

//删除事件
function removeEvent(target, type, handler) {
if (target.removeEventListener) {
target.removeEventListener(type, handler, false);
} else {
target.detachEvent("on" + type, window[handler]);
}
}

javascript中事件对象注册与删除的更多相关文章

  1. JavaScript 中事件对象参数:clientX、clientY、offsetX、offsetY、screenX、screenY

    JavaScript 中一些概念理解 :clientX.clientY.offsetX.offsetY.screenX.screenY clientX 设置或获取鼠标指针位置相对于窗口客户区域的 x ...

  2. JavaScript中的对象与原型—你不知道的JavaScript上卷读书笔记(四)

    一.对象 对象可以通过两种形式定义:声明(文字)形式和构造形式.即: var myObj = { key: value // ... }; 或: var myObj = new Object(); m ...

  3. javascript中的对象,原型,原型链和面向对象

    一.javascript中的属性.方法 1.首先,关于javascript中的函数/“方法”,说明两点: 1)如果访问的对象属性是一个函数,有些开发者容易认为该函数属于这个对象,因此把“属性访问”叫做 ...

  4. Javascript中的对象和原型(3)

    在Javascript中的对象和原型(二)中我们提到,用构造函数创建的对象里面,每个对象之间都是独立的,这样就会降低系统资源的利用率,解决这样问题,我们就要用到下面提到的原型对象. 一 原型对象 原型 ...

  5. (转)javascript中event对象详解

    原文:http://jiajiale.iteye.com/blog/195906 javascript中event对象详解          博客分类: javaScript JavaScriptCS ...

  6. JavaScript中的对象描述符(属性特性)

    我们先创建一个对象: var person = { name: "Nicholas", _job: "Software Engineer", sayName: ...

  7. Javascript中的对象和原型(三)(转载)

    在Javascript中的对象和原型(二)中我们提到,用构造函数创建的对象里面,每个对象之间都是独立的,这样就会降低系统资源的利用率,解决这样问题,我们就要用到下面提到的原型对象. 一 原型对象 原型 ...

  8. Javascript中的对象和原型(一)(转载)

    面向对象的语言(如Java)中有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.但是,JavaScript 没有类的概念,因此它的对象也与基于类的语言中的对象有所不同. 要了解面向对象,首 ...

  9. javascript中事件概述

    事件就是用户或浏览器自身执行的某种动作.诸如click.load.和mouseover,都是事件的名字.而响应某个事件的函数就叫做事件处理程序(或事件侦听器).事件处理程序的名字以"on&q ...

随机推荐

  1. 计算机网络基础知识-OSI七层协议模型

    一.物理层 物理层主要规定了物理设备的标准,如网线的类型.光纤的接口类型.各种传输介质的传输速率,物理层的数据以比特流(二进制)的形式存在,传输时将比特流转化为电流强弱,达到目的地之后再转化为比特流. ...

  2. [转帖]CPU Cache 机制以及 Cache miss

    CPU Cache 机制以及 Cache miss https://www.cnblogs.com/jokerjason/p/10711022.html CPU体系结构之cache小结 1.What ...

  3. Django+Vue打造购物网站(四)

    首页商品类别数据显示 商品分类接口 大概需要两个,一个显示三个类别 一个显示类别及类别下的全部商品 现在开始写商品的接口 首先编写三个分类的serializer class CategorySeria ...

  4. Could not find package vendor/name in a version matching v-Number 是坑!

    当我遇到这个问题的时候曾去发布了issue -https://github.com/composer/packagist/issues/934 主要的问题是,composer require vend ...

  5. Linux-负载均衡LVS

    LVS负载均衡 负载均衡集群是Load Balance 集群的缩写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有Nginx.LVS.Haproxy,商业的硬件负载均衡设备有F5.Netscal ...

  6. SQL 统计某一天的数据量时, 使用 dateValue(字段) 与 between 性能差异很明显。

    感觉好久没有写sql语句了... 今天需要写一个统计某一天的数据时,考虑到字段的内容格式是:  2018-12-18 09:36:23 我开始写的是: select count(id) as reCo ...

  7. Maven pom文件标签解析大全

    <span style="padding:0px; margin:0px"><project xmlns="http://maven.apache.or ...

  8. 条件随机场(CRF)

    从宏观上讲,条件随机场就是给出一个序列 X = (x1, x2 ... xn) 得到 另一个序列 Y = (y1 , y2 ... yn). 这两个序列有着一些独特的特性,满足马尔可夫随机场,我理解的 ...

  9. Pandas系列(一)-Series详解

    一.初始Series Series 是一个带有 名称 和索引的一维数组,既然是数组,肯定要说到的就是数组中的元素类型,在 Series 中包含的数据类型可以是整数.浮点.字符串.Python对象等. ...

  10. python 线程/线程锁/信号量

    单线程 #常规写法 import threading import time def sayhi(num): # 定义每个线程要运行的函数 print("running on number: ...