首页 > 代码库 > Ext.dom.Element 常用方法解析

Ext.dom.Element 常用方法解析

Ext.dom.Element 常用方法解析

 

Ext.Element,Ext.core.Elemen,Ext.dom.Element 这几个类都是一个类,在EXT当中给起了别名而已,这个类到作用主要是针对DOM元素操作的封装,使我们操作针对DOM操作更加方便了,而且底层屏蔽了浏览器到差异。
 
那么如何返回一个Ext.Element对象呢?通过Ext.get(el)就可以了。
参数 el : String/HTMLElement/Ext.Element(The id of the node, a DOM Node or an existing Element.)
// by idvar el = Ext.get("my-div");// by DOM element referencevar el = Ext.get(myDivElement);

 

像上面这样就返回了一个Ext.Element对象,然后我们就可以使用它的API来简化我们的开发了,下面介绍几个常用的功能。

 

1. 给元素添加事件:el.on( eventName, fn, [scope], [options] ) 。

 

el.on(‘click‘, this.onClick, this, {    single: true,    delay: 100,    stopEvent : true,    forumId: 4});

eventName:事件的名称 例如: click,dbclkc,mouseover等等。

fu: 事件的处理函数。

scope(可选):事件处理函数中this的指向,如果不指定默认为Element对象本身。

options(可选): 处理函数到配置信息,这个参数里到内容比较多,下面一一介绍。

scope: 事件处理函数中this的指向,如果不指定默认为Element对象本身。

delegate:执行el子孙元素中的某一个元素影响事件,此处可以是一个选择器表达式(Ext.core.DomQuery)

stopEvent: (preventDefault stopPropagatio)同时生效

preventDefault :取消默认动作(比如给A标签添加了click事件,那么点击A标签以后 首先会响应click事件,然后浏览器不会跳转【正常会href的】)
stopPropagatio: 取消传播(这个不知道干啥的)
normalized :如果设置为false 那么事件处理函数的第一个参数就是浏览器到 EVENT对象,否则是Ext.EventObject

target:这个属性目前也不知道干啥的

delay:事件延迟多少毫秒

single :事件只执行一次

buffer :事件在多少毫秒之内只执行一次,比如设置为2000 那么在2秒内只能触发一次事件

 

2. getViewSize( ) 获取元素的宽高

var vpSize = Ext.getBody().getViewSize();// all Windows created afterwards will have a default value of 90% height and 95% widthExt.Window.override({    width: vpSize.width * 0.9,    height: vpSize.height * 0.95});