YAHOO.util.Event.addListener at 2009.4.8 22:10
YAHOO.util.Event看的我还是比较晕的,一是我这方面确实好弱,一是YUI太NB了,还是分享一下我的学习经验,谈下我遇到的问题,首先是YAHOO.util.Event.addListener。
if ( this._isValidCollection(el)) {
var ok = true;
for (var i=0,len=el.length; i<len; ++i) {
ok = this.on(el[i],
sType,
fn,
obj,
overrideContext) && ok;
}
return ok;
} else if (YAHOO.lang.isString(el)) {
var oEl = this.getEl(el);
if (oEl) {
el = oEl;
} else {
this.onAvailable(el, function() {
YAHOO.util.Event.on(el, sType, fn, obj, overrideContext);
});
return true;
}
}
this._isValidCollection(el)是判断el是否是一个数组,详细可以看下_isValidCollection这个方法,如果是数组的话,就拆分开来,调用YAHOO.util.Event.addListener。if (YAHOO.lang.isString(el))是判断是否是字符串,也就是说el是否为id,如果是的话就转换成HTMLElement,然后调用YAHOO.util.Event.addListener。其实这两个判断的目的都是为了将el转化为HTMLElement,然后再执行YAHOO.util.Event.addListener。