关于js中对事件绑定与普通事件的理解
普通事件指的是可以用来注册的事件;
事件绑定是指把事件注册到具体的元素之上。
通俗点说:
普通事件:给html元素添加一个特定的属性(如:onclick);
事件绑定:js代码中通过标记(id tag class)获取元素,给元素添加特定的方法(如:onclick);
扩展:事件监听addEventListener事件可以绑定多次事件,并进行触发
div1.onclick = function(){};
<button onmouseover = " "></button>
1、如果说给同一个元素绑定了两次或者多次相同类型的事件,那么后面的绑定会覆盖前面的绑定
2、不支持DOM事件流 事件捕获阶段目标元素阶段=>事件冒泡阶段
addEventListener
⦁ 如果说给同一个元素绑定了两次或者多次相同类型的事件,所以的绑定将会依次触发
⦁ 支持DOM事件流的
⦁ 进行事件绑定传参不需要on (在我们前端)
addEventListener(“click”,function(){},true); //此时的事件就是在事件冒泡阶段执行
兼容性处理
ie9开始 到ie11 edge:addEventListener
ie9以前:attachEvent/detachEvent
⦁ 进行事件类型传参需要带上on前缀
⦁ 这种方式只支持事件冒泡,不支持事件捕获
比较attachEvent 和 addEventListener:
- attachEvent只支持事件冒泡 addEventListener既支持事件冒泡,也支持事件捕获
- 参数: attachEvent事件类型需要on前缀, addEventListener事件类型不需要on前缀
- 如果使用attachEvent对一个元素的目标阶段绑定了多次事件,那么会按照绑定顺序的相反顺序进行触发;如果使用addEventListener对一个元素的目标阶段绑定多次事件,那么会按照绑定顺序进行触发
关于js中对事件绑定与普通事件的理解的更多相关文章
- js和jQuery中的事件绑定与普通事件
普通事件,是指直接对元素进行事件注册,然后触发 而事件绑定是将事件注册到元素上 两者区别就是在于普通事件不可以重复添加多个事件,若添加也会覆盖,只会触发其中一个事件(最后注册的那个) 而事件绑定是可以 ...
- python 全栈开发,Day55(jQuery的位置信息,JS的事件流的概念(重点),事件对象,jQuery的事件绑定和解绑,事件委托(事件代理))
一.jQuery的位置信息 jQuery的位置信息跟JS的client系列.offset系列.scroll系列封装好的一些简便api. 一.宽度和高度 获取宽度 .width() 描述:为匹配的元素集 ...
- js中的前绑定和后绑定详解
这篇文章详细介绍了js中的前绑定和后绑定,有需要的朋友可以参考一下 其主要意思就是看我有没有用过前绑定,即Dom树中的某些元素在还没有创建出来时,就指定该类型的元素一出生就应该拥有的某些事件.在实际开 ...
- (转载)js(jquery)的on绑定点击事件执行两次的解决办法
js(jquery)的on绑定点击事件执行两次的解决办法—不是事件绑定而是事件冒泡 遇到的问题:jquery中用.on()给页面中新加的元素添加点击事件时,点击事件源,绑定的事件执行两次,这里的ale ...
- js课程 5-13 js事件绑定和鼠标事件注意事项有哪些
js课程 5-13 js事件绑定和鼠标事件注意事项有哪些 一.总结 一句话总结:js代码的灵魂就是改变标签的属性和样式,就这两种. 1.js触发改的东西是哪两样? 属性和样式 2.js如何让页面用标 ...
- JS中事件绑定函数,事件捕获,事件冒泡
1 事件绑定:事件与函数绑定以及怎么取消绑定 1.1 元素.onclick这种形式,如下: <div id="div1">aaa</div> <scr ...
- 使用call、apply和bind解决js中烦人的this,事件绑定时的this和传参问题
1.什么是this 在JavaScript中this可以是全局对象.当前对象或者任意对象,这完全取决于函数的调用方式,this 绑定的对象即函数执行的上下文环境(context). 为了帮助理解,让我 ...
- js中this的绑定规则及优先级
一. this绑定规则 函数调用位置决定了this的绑定对象,必须找到正确的调用位置判断需要应用下面四条规则中的哪一条. 1.1 默认绑定 看下面代码: function foo() { cons ...
- js中同一个onclick绑定了两个js方法出现的问题
问题: js中如果同一个onclick绑定了两个js方法问题,即 <li onclick="f1(),f2()"></li> 两个方法f1,f2中都分别有一 ...
随机推荐
- Python--进阶处理1
# ===============Python 进阶======================= # ---------第一章:数据结构和算法----------- # ----------解压序列 ...
- 关于Springboot 中注入多个cacheManage 时候 存在报错
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'e ...
- UIScrollView 去掉下面的滚动条
[_scrollView setShowsHorizontalScrollIndicator:NO];
- MySQL - 查询今天的数据(以及昨天、本月、上个月、今年...) 查询Datetime 时间的数据
1,查询当天(今天)的数据 1 SELECT * FROM `order` WHERE TO_DAYS(order_time) = TO_DAYS(NOW()) 2,查询昨天的数据 1 SELECT ...
- C#建WindowForm调用R可视化
众所周知R软件功能非常强大,可以很好的进行各类统计,并能输出图形.下面介绍一种R语言和C#进行通信的方法,并将R绘图结果显示到WinForm UI界面上的方法,文中介绍的很详细,需要的朋友可以参考下. ...
- 专项训练知识点与错题整理-nowcoder-c++
1- 来自:http://www.cskaoyan.com/thread-595813-1-1.html 1.拷贝构造函数 转自:https://www.cnblogs.com/alantu2018/ ...
- windows 本地配置hadoop客户端
下载解压 hadoop 至D:\hadoop2.6.0 配置环境变量 HADOOP_HOME=D:\hadoop2.6.0 下载hadoop windows插件 将dll文件放入C:\Windows ...
- YYModel源代码阅读--基础知识
这段时间因为工作需要,阅读了YYModel这个开源框架,至于它能做什么,最直白的讲述就是JSON与Model之间的相互转化. 源代码在Github,大家可以自行git clone或者download. ...
- iOS学习之flappyBird游戏的实现
导言 在本人还是学生的时候,flappyBird这款游戏非常火爆,最后等到Android版的出来之后,也是很痴迷的玩了一把.可是,本人游戏天赋一直平平,几度玩得想摔手机.本文主要介绍如何开发iOS平台 ...
- php集成财付通支付接口
<?phpif(!defined('DEDEINC')) exit('Request Error!');/** *财付通接口类 */class tenpay{ var $dsql; var $m ...