html事件驱动,js事件驱动机制 浏览器兼容处理方法

3.1. 事件是如何产生的 *

第一种情况,用户对网页做了某些操作,比如,点击了一个按钮,产生点击事件。 第二种情况,用户没有对网页做操作,也可能产生事件,比如浏览器已经将整个页面加载完毕,会产生加载完成事件。当事件产生以后,浏览器会查找产生事件的节点有没有绑订相应的事件处理代码。如果有,则调用该代码来处理。如果没有,会继续向上查找父节点,有没有对应的事件处理代码(事件冒泡)。

3.2. 绑订事件处理代码 **

1) 绑订事件处理代码到html标记乊上

比如: click

2) 绑订事件处理代码到dom节点之上

var obj = document.getElementById('a1'); obj.οnclick=f1;

注意:

a. f1不要加"()",加"()"表示立即执行f1这个凼数。

b. 可以使用匿名凼数迚行绑订。

即: obj.οnclick=function(){ //代码。 }

c. 绑订事件处理代码到dom节点之上,可以将js代码不html完全分离,方便代码的维护。

d. 如果要给绑订的凼数传参。可以使用匿名凼数来解决。

即: obj.οnclick=function(){ f(参数); }

3) 使用浏览器自带的绑订方式(了解)

不同的浏览器,有各自独有的绑订方式,因为丌兼容,所以尽量少用。

Script脚本可以在

中写

7a8aa1670ca22521ce5d8fa35c2fe258.png等价于下图

da7f19190cdca031266898314079ff4c.png

如果传参数怎么办?使用匿名凼数

70971afd5aacf776634322bd1e41597c.png

【案例3.1】绑订事件处理代码到html标记之上 **

3.3. 事件对象 ***

1) 获得事件对象

IE浏览器: 可以直接使用event获得

firefox: 必须给方法添加一个参数event

一般为了兼容ie,firefox,给方法添加一个参数event

2) 事件对象的作用

a. 获得鼠标点击的坐标

event.clientX event.clientY

b. 获得事件源(产生事件的那个对象)

firefox: event.target获得 IE浏览器: event.srcElement获得

9685467855aed88dfc1f5faa17db5c2b.png

cb104a74894749d7c721d4f4f27526b8.png

e62da114814b1e6768cfbe080b9d6029.png

29501fe702f267daacf30eaf78963ce6.png

3.4. 事件冒泡 **

1) 什么是事件冒泡?当一个节点产生事件以后,该事件会依次向上传递(先传给父节点,如果父节点还有父节点, 再向上传递)。

2) 如何禁止冒泡? event.cancelBubble = true;

88f4714e261c24d73e919b8476aaa53d.png

2) “事件冒泡”现象关闭对话框“你点击了一个链接”,继续弹出对话框“你点击了一个div”

259302b3d197930f1a7f2c8b43e5cd4f.png

【案例3.4】事件对象 **

39ee0b10990c5afc2738fcff06b14859.png

c350241928d2c0effea74e342bdf2c75.png

43a9f8a0ee4cf95522732bcdc363a4d8.png

304389bec9ad798bbcc67a055d5ded4c.png

e467d170cf3886d31a1ce3dfb2d0b550.png

------------------------------------------------------------------------------------------------------

js是采用事件驱动(event-driven)响应用户操作的。

比如通过鼠标或者按键在浏览器窗口或者网页元素(按钮,文本框...)上执行的操作,我们称之为事件(Event)。

由鼠标或热键引发的一连串程序的动作,称之为事件驱动 (Event-Driver)。

对事件进行处理程序或函数,我们称之为事件处理程序 (Event Handler)。

----------------------------------------------------------------------------------------------------------------------

a827cec0c9a980f8a84c00c363a7c6fe.png

92cbb1e31692cdbfcefac8d6c731dd3e.png

浏览器兼容处理

445328734e4b3738af98a447a94e7e3a.png

-------------------------------------------------------------------------------待续

一个事件,需要多个方法,可以用,隔开就可以了

以上这篇js事件驱动机制 浏览器兼容处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值