JS注册/移除事件处理程序(ExtJS应用程序设计实践)
设计ExtJS应用程序时,最常见的做法是注册一个事件处理程序,因为在ExtJS的世界中,它几乎完全由时间组成。所以ExtJS的设计者让注册事件变得非常容易(同时也给你提供了一个非常难选择的方式)——on/un,也就是up和down,或者addListener和removeListener,Element的所有子类都可以使用。比如有一个div/我希望在用户按下的时候给出简单的反馈:divid=' happy div ' class=' happy style '/如何为这个div/注册鼠标点击事件?必须先获取这个div的Element实例:varhappyDiv=ext . get(' happyDiv ');然后定义事件处理程序:复制代码如下: varclickhandler=function(event,event target){ ext . messagebox . alert(' click ','你点击了: ' event target . id);}使用on()将事件处理程序与Element实例连接:复制代码如下:hhappydiv.on ('click ',click handler);程序执行时,点击div/会出现如图3-15所示的结果。
很简单,对吧?示例文件是ch03/event _ demo.html。要删除此事件处理程序,只需将on()更改为un()。移除时没有对应点击事件的事件处理程序也没关系,底层的EventManager会自己判断。当调用事件处理程序时,它将接收三个参数:——event、eventTarget和optionObj,在示例中只使用了其中的两个,第三个参数将在讨论EventManager时解释。这里的重点是事件和事件目标,事件的类型是Ext。事件,事件目标是HTML元素。当用户按下div/时,会触发click事件并调用clickhandler()。对于clickhandler(),接收到的事件是由浏览器触发的click事件。Evtarget是事件目标,为div/,eventTarget.id的值为“happyDiv”。至于事件的根类,应该看哪里?回答
版权声明:JS注册/移除事件处理程序(ExtJS应用程序设计实践)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

















