事件模型

版权声明:请尊重个人劳动成果,转载请著名出处 https://blog.csdn.net/WARGON/article/details/82106986

几乎所有的GUI编程都涉及到事件处理机制。

很简单:

事件:浏览器、window、document、HTML元素发生事情,浏览器封装事情信息,就是事件。

事件目标:引发事件的对象,就是事件源。

事件类型:每个事件都有相应的类型,比如:"click"、"load"等,是一个说明事件类型的字符串。

事件处理器:JS中处理器和监听器是一回事。绑定到对象上,用来对事件进行响应。一般为一个函数。

绑定事件处理函数:

1:直接在HTML页面元素上绑定。每个元素都有事件属性。属性名为"on"+时间类型。属性值就是事件处理函数。

不同的元素可以触发的事件又有差别。一些事件只能window对象触发,而document中并无window对象。因此把window对象的事件属性放在body元素上。浏览器自动把body元素的事件转换为window对象。

2:绑定到JS对象属性上。直接在页面中修改与元素不太好。所以在JS中为元素对象增加事件属性,并为事件属性赋值,就ok了。

需要说明的是:JS元素对象的事件属性值,其属性值只是JS函数的引用。所以直接使用函数名,不要带括号()。带的话就相当于函数的调用了,得到的只是函数的返回值。

3:addEventListener、attachEvent绑定方法。不管了。

事件处理函数的执行环境说明:

this:在JS最外层使用this的话,代表window对象。在函数中用的话,如果函数在对象中,那么就代表着当前的对象。

JS作为一门动态语言,可以动态的为对象增加属性和方法。当为事件属性绑定函数时,就是为对象增加了一个方法。所以事件处理函数中的this就代表着事件对象。

注意:html元素的this需要传到函数中,不然函数中直接用this,还是window对象。

事件类型:

太多,需要自己查资料。

猜你喜欢

转载自blog.csdn.net/WARGON/article/details/82106986