搜索
查看: 4564|回复: 4

[behavior] [已解决]关于decimal数字输入框 自定义 behavior,为什么失败?

[复制链接]

75

主题

848

帖子

5073

积分

六级会员

The only one

Rank: 9Rank: 9Rank: 9

积分
5073
发表于 2012-8-28 10:07:00 | 显示全部楼层 |阅读模式
本帖最后由 look 于 2012-8-28 10:21 编辑

以下代码通不过
[/quote]

[quote]
//节点绑定事件
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" }
)
/*}}*/
io.open();
import web.layout;
wbLayout = web.layout(winform.layoutWindow);

import web.layout.debug;
wbLayout.attachEventHandler( web.layout.debug );

namespace web.layout.behavior.decimal{  
    func =
function(ltEle){
         ..io.print(ltEle.bl);
        
return ltEle.bl;
    }
}

wbLayout.html =
/***
    <widget type="decimal" id="xunhuanAQ" bl="11111"></widget>
    <widget type="decimal" id="xunhuanAZ" bl="22222"></widget>
    <widget type="decimal" id="xunhuanBQ" bl="3333"></widget>  
    <widget type="decimal" id="xunhuanBZ" bl="444444"></widget>
    <p></p>
***/


wbLayout.css =
/**
widget[type="decimal"]
{
    behavior:decimal;
    min-width:0;
    /* 50px */
    width:*;
    height:18px;
    padding: 1px 4px;
    margin:0 6px;
    -format:"grouping:0; fdigits:2; leading-zero:true; decimal-sep:'.'; thousand-sep:',';   negative-sign:true";
    text-align:left;
    focus-on!:
        val=self.func(),
        $1(p):value=val;
}
**/


winform.show()
win.loopMessage();
;

winform.show()
win.loopMessage();

以下代码可以通过



//自定义 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" }
)
/*}}*/

io.open()
import web.layout;
wbLayout = web.layout(winform.layoutWindow);
  
namespace web.layout.behavior.command{  

   
//所有不是on前缀的函数,都可以在CSS脚本中直接调用
    func = function(ltEle,a,b,c){  
        ..io.print(
"调用了自定义函数,收到参数",a,b,c,ltEle.outerHTML)
        
return ltEle.属性
    }
}


wbLayout.html =
/***
<div id="my-button" 属性="值">请点击这里</div>
<p></p>
***/



wbLayout.css =
/**
#my-button{
    behavior:command;
    active-on!:
        val=self.func(1,2,3), //CSS脚本以逗号分隔语句
        $(p):value=val
    ;
}
**/


winform.show()
win.loopMessage();






小时候,幸福是一件东西,拥有就是幸福; 长大了,幸福是一个目标,达到就是幸福; 成熟后,发现幸福原来是一种心态,领悟就是幸福.
回复

使用道具 举报

33

主题

543

帖子

3304

积分

荣誉会员

Rank: 8Rank: 8

积分
3304
发表于 2012-8-28 10:12:53 | 显示全部楼层

decimal 是一个内置的 behavior。要自定义 behavior,可以换个名字。 一个元素可以同时拥有多个 behavior,用空格隔开:[co

decimal 是一个内置的 behavior。要自定义 behavior,可以换个名字。

一个元素可以同时拥有多个 behavior,用空格隔开:
  1. widget {
  2.     behavior: behavior-a behavior-b;
  3. }
复制代码

点评

真棒: 5.0
真棒: 5
谢谢!你真强!  发表于 2012-8-28 10:22
回复

使用道具 举报

75

主题

848

帖子

5073

积分

六级会员

The only one

Rank: 9Rank: 9Rank: 9

积分
5073
 楼主| 发表于 2012-8-28 10:15:15 | 显示全部楼层

[quote][size=2][color=#999999]lujjjh 发表于 2012-8-28 10:12[/color] [url=forum.php?

lujjjh 发表于 2012-8-28 10:12
decimal 是一个内置的 behavior。要自定义 behavior,可以换个名字。

一个元素可以同时拥有多个 behavio ...

主要想在behavior内添加自己的方法;我试试,谢谢!
回复

使用道具 举报

75

主题

848

帖子

5073

积分

六级会员

The only one

Rank: 9Rank: 9Rank: 9

积分
5073
 楼主| 发表于 2012-8-28 10:20:30 | 显示全部楼层

[quote][align=left][font=新宋体][color=#008000]//节点绑定事件 [/color][color=#0000ff]imp

//节点绑定事件
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" }
)
/*}}*/
io.open();
import web.layout;
wbLayout = web.layout(winform.layoutWindow);

import web.layout.debug;
wbLayout.attachEventHandler( web.layout.debug );

namespace web.layout.behavior.decimal_plus{  
    func =
function(ltEle){
         ..io.print(ltEle.bl);
        
return ltEle.bl;
    }
}

wbLayout.html =
/***
    <widget type="decimal" id="xunhuanAQ" bl="11111"></widget>
    <widget type="decimal" id="xunhuanAZ" bl="22222"></widget>
    <widget type="decimal" id="xunhuanBQ" bl="3333"></widget>  
    <widget type="decimal" id="xunhuanBZ" bl="444444"></widget>
    <p></p>
***/


wbLayout.css =
/**
widget[type="decimal"]
{
    behavior:decimal decimal_plus;
    min-width:0;
    /* 50px */
    width:*;
    height:18px;
    padding: 1px 4px;
    margin:0 6px;
    -format:"grouping:0; fdigits:2; leading-zero:true; decimal-sep:'.'; thousand-sep:',';   negative-sign:true";
    text-align:left;
    focus-on!:
        val=self.func(1),
        $1(p):value=val;
}
**/


winform.show()
win.loopMessage();


小时候,幸福是一件东西,拥有就是幸福; 长大了,幸福是一个目标,达到就是幸福; 成熟后,发现幸福原来是一种心态,领悟就是幸福.
回复

使用道具 举报

43

主题

679

帖子

3805

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3805
发表于 2012-8-28 10:43:03 | 显示全部楼层

呵呵, look 渐入佳境 !

呵呵, look 渐入佳境 !
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2020-11-29 16:25 , Processed in 0.093750 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表