实例代码:
import win.ui; import web.layout; //导入 layout import web.layout.behavior.windowCommand; import process; mainForm = win.form(text="aardio 工程";right=359;bottom=669;border="none") mainForm.add() wbLayout = web.layout( mainForm ) if( _STUDIO_INVOKED ){ //开启 layout 调试 import web.layout.debug; wbLayout.attachEventHandler( web.layout.debug ); } html = /**R 大技术站 <style type="text/css"> @set std-button{ :root{padding:0 8 0 8;line-height:24px;border:1px solid #ccc;cursor: pointer;transition: none;color:#fff;} :root:hover{background:#999;} :root:active{background:#999;} } button{background: #c1c1c1;width:120px;height:32px;margin-top:10px;margin-left:50%% - 60px;} #close_btn{background:#009688;} #open_btn{background:#FF5722;} button[name="name_btn"]{background:#1E9FFF;} #none_btn{background:#2F4056;} </style> <button>按钮一</button> <button id="close_btn">按钮 close</button> <button id="open_btn">按钮 open</button> <button name="name_btn">按钮 name</button> <button id="none_btn">按钮 none</button> **/ wbLayout.html = html; wbLayout.onButtonClick = { close_btn = function (ltTarget,ltOwner,reason,behaviorParams){ mainForm.close() //关闭窗口 } ["open_btn"] = function (ltTarget,ltOwner,reason,behaviorParams){ process.execute("http://www.btbat.com"); //打开网页 } name_btn = function (ltTarget,ltOwner,reason,behaviorParams){ mainForm.close() //关闭窗口 } default = function (ltTarget,ltOwner,reason,behaviorParams){ mainForm.close() //关闭窗口 } } mainForm.show() return win.loopMessage();
实例说明:
这次我们在 html 中加入了 5 个 button 按钮控件,
上期说了,button 控件自带 behavior 特效;
这 5 个按钮分别是:
<button>按钮一</button> // 无 ID 参考上一节内容 <button id="close_btn">按钮 close</button> //设置 id 并指定事件 <button id="open_btn">按钮 open</button> //设置 id 并指定事件 <button name="name_btn">按钮 name</button> //设置 name 并指定事件 <button id="none_btn">按钮 none</button> // 设置 id 没指定事件
我们通过:
close_btn = function (... //指定事件
["open_btn"] = function (... //指定事件
不同写法,效果一样,同时用 name 值也可以指定事件的。
然而虽然“按钮 none”也指定了 id,却没有指定事件,
其效果就和“按钮一”一样了,都会执行 default 默认事件;
PS:当然一般不需要写 default 事件的。
通过这样的方法,就可以方便的我们统一处理具有相同事件的控件。