behavior都是先new,然后get_behaviors().add,最后initialize()就OK了
举个popupbehavior的例子
_popupBehavior=new Sys.UI.PopupBehavior();
_popupControl.get_behaviors().add(_popupBehavior);
_popupBehavior.initialize();
其中popupControl是一个Atlas的Control,可以用popupControl=new Sys.UI.Contorl($(yourDOMElement));获得
另外关于PopupBehavior的设置问题:
_popupBehavior.set_parentElement($(yourParentDOMElement));
这个的意思是以yourParentDOMElement为锚点来确定popup的位置,注意两个对象仅仅有位置关系
_popupBehavior.set_positioningMode(Sys.UI.PositioningMode.TopLeft);
这个就8说了
再举个HoverBehavior的例子
// add hover behavior to item group control
var _hoverBehavior=new Sys.UI.HoverBehavior();
_hoverBehavior.set_hoverElement(_itemGroupDiv);
_hoverBehavior.set_unhoverDelay(10);
_itemGroupControl.get_behaviors().add(_hoverBehavior);
var _unhoverHandle=Function.createDelegate(this,this._unhover);
_hoverBehavior.unhover.add(_unhoverHandle);
_hoverBehavior.initialize();
这个东西比较有意思,关键点就是设置_unhoverHandle,这东西好像就是。net中的代理
var _unhoverHandle=Function.createDelegate(this,this._unhover);
_hoverBehavior.unhover.add(_unhoverHandle);
就是说在非悬浮的时候,执行this._unhover()的方法
8问题就出来了,这个事件怎么传参数?比较难解决哦,咔咔