在aardio中添加behavior非常简单
只要在 web.layout.behavior 名字空间下添加库,
或直接添加新的名字空间都可以创建behavior.
例如新建名字空间 web.layout.behavior.command
就创建了名为"command"的behavioraardio标准库里已经预定义了大量的behavior,
大家可以看一下源码掌握HTMLayout的操作方法.
//自定义 behavior演示
import win.ui;
/*DSG{{*/
winform = ..win.form( text="aardio Form";bottom=399;parent=...;right=599;border="resizable" )
winform.add(
layoutWindow={ dr=1;dl=1;notify=1;right=580;left=10;dt=1;top=12;z=1;db=1;bottom=382;multiline=1;cls="edit" }
)
/*}}*/
import web.layout;
wbLayout = web.layout(winform.layoutWindow);
//创建自定义 behavior
namespace web.layout.behavior.command{
//所有窗体可以使用的事件函数,在behavior内都可以使用,可以输入 wbLayout.on 前缀自动创建函数
onMouseDown = function (ltTarget,ltEle, x,y,mouseParams) {
..console.log("鼠标单击了,节点:",ltEle.id,ltTarget.innerHTML )
return true;//所有事件返回true终止事件.
}
//所有不是on前缀的函数,都可以在CSS脚本中直接调用
func = function(ltEle,a,b,c){
..import console
..console.log("调用了自定义函数,收到参数",a,b,c,ltEle.outerHTML)
return "返回新的值"
}
}
wbLayout.html =/***
<div id="my-button" 属性="值">请点击这里</div>
***/
wbLayout.css = /**
#my-button{
behavior:command;
active-on!:
self.func(1,2,3), //CSS脚本以逗号分隔语句
;
}
**/
winform.show();
win.loopMessage();
|