aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 15594|回复: 6

lightBoxDialog 里面的确定按钮我这么写怎么就没反应了呢

[复制链接]

37

主题

147

回帖

1240

积分

四级会员

积分
1240
发表于 2012-8-28 17:40:38 | 显示全部楼层 |阅读模式

下面是quicker的代码去掉了图片,点击 确定 或 取消  按钮  ,lightBoxDialog对话框就消失了


import win.ui;
/*DSG{{*/
var winform = ..win.form( bottom=399;parent=...;right=599;text="HTMLayout 高亮对话框效果" )
winform.add(  )
/*}}*/

import web.layout;
import web.layout.behavior.lightBoxDialog;

var wbLayout = web.layout(winform);

wbLayout.html =
/*********
<html>
<head>
  <style>
    html{
      font:system;
    }
    form.light-box-dialog {
      behavior: light-box-dialog;
      display:none;
      width:50%;
      height:50%;
      margin:*;
      background-color:red;
      background-position:26 26 26 26;
      padding:28px;
    }
    div.shim /* background shim, spans whole view */  {
      position: fixed;
      top:0;
      right:0;
      bottom:0;
      left:0;
      background-color: rgba(0,0,0,0.5);
    }
    button#test-dlg{
      click!:$1(form.light-box-dialog).show();
    }
  </style>  
</head>
<body>
  <form.light-box-dialog>
    <p .button-bar ><button role="ok-button">确定</button><button role="cancel-button">取消</button></p>
    <p>这里随便放点文本什么的....<p>
   
  </form>

  <p>测试内容: <input type="text" value="HTMLayout 非常好用"/> <button>某些控件</button></p>
  <button #test-dlg>点这里弹出对话框</button>
</body>
</html>
*********/

winform.show()
win.loopMessage();




我改成这样的 点击 确定 或 取消  按钮  ,就没反应了


import win.ui;
/*DSG{{*/
var winform = ..win.form( bottom=399;parent=...;right=599;text="HTMLayout 高亮对话框效果" )
winform.add(  )
/*}}*/

import web.layout;
import web.layout.behavior.lightBoxDialog;

var wbLayout = web.layout(winform);

wbLayout.html =
/*********
<html>
<head>
  <style>
    html{
      font:system;
    }
    form.light-box-dialog {
      behavior: light-box-dialog;
      display:none;
      width:50%;
      height:50%;
      margin:*;
      background-color:red;
      background-position:26 26 26 26;
      padding:28px;
    }
    div.shim /* background shim, spans whole view */  {
      position: fixed;
      top:0;
      right:0;
      bottom:0;
      left:0;
      background-color: rgba(0,0,0,0.5);
    }
   
  </style>  
</head>
<body>
  <form.light-box-dialog>
    <p .button-bar ><button role="ok-button">确定</button><button role="cancel-button">取消</button></p>
    <p>这里随便放点文本什么的....<p>
   
  </form>

  <p>测试内容: <input type="text" value="HTMLayout 非常好用"/> <button>某些控件</button></p>
  <button #test-dlg>点这里弹出对话框</button>
</body>
</html>
*********/


//去掉了css里面的代码,换成下面的代码 可以显示出来,但确定和取消按钮点击就没反应了
submit=wbLayout.getEle("test-dlg")

submit.onButtonClick =
function (ltTarget,ltEle,reason,behaviorParams) {
     
var ltbox=web.layout.behavior.lightBoxDialog( wbLayout.$1("form.light-box-dialog"),wbLayout)
     ltbox.show(wbLayout.$1(
"form.light-box-dialog"))
   
   
return ;
}
submit.attachEventHandler()
winform.show()
win.loopMessage();

4

主题

852

回帖

4689

积分

荣誉会员

积分
4689
发表于 2012-8-28 18:02:38 | 显示全部楼层
能不能简单具体一点说一下,你到底改了哪里就不行了,
别人没时间一句一句的去对比琢磨你的意思是吧,提问的时候也帮回复的人想一想吧。

37

主题

147

回帖

1240

积分

四级会员

积分
1240
 楼主| 发表于 2012-8-28 18:20:50 | 显示全部楼层
不争 发表于 2012-8-28 18:02
能不能简单具体一点说一下,你到底改了哪里就不行了,
别人没时间一句一句的去对比琢磨你的意思是吧,提问 ...

对不起,我代码里面说了一下,不明确

去掉了css里面的这句
    button#test-dlg{
      click!:$1(form.light-box-dialog).show();
    }

改为代码里面的这句
submit=wbLayout.getEle("test-dlg")

submit.onButtonClick = function (ltTarget,ltEle,reason,behaviorParams) {
     var ltbox=web.layout.behavior.lightBoxDialog( wbLayout.$1("form.light-box-dialog"),wbLayout)
     ltbox.show(wbLayout.$1("form.light-box-dialog"))
   
    return ;
}
submit.attachEventHandler()

4

主题

852

回帖

4689

积分

荣誉会员

积分
4689
发表于 2012-8-28 20:41:17 | 显示全部楼层
web.layout.behavior.lightBoxDialog 是引擎内部来调用的,
你不能自已去创建 lightBoxDialog 对象,也没有必要,把你的代码换成下面这样就可以了

submit=wbLayout.getEle("test-dlg");
submit.onButtonClick =
function (ltTarget,ltEle,reason,behaviorParams) {
    wbLayout.$1(
"form.light-box-dialog").xcall("show")
}

4

主题

852

回帖

4689

积分

荣誉会员

积分
4689
发表于 2012-8-28 20:48:58 | 显示全部楼层
完整代码:

import win.ui;
/*DSG{{*/
var winform = ..win.form( bottom=399;parent=...;right=599;text="HTMLayout 高亮对话框效果" )
winform.add(  )
/*}}*/

import web.layout;
import web.layout.behavior.lightBoxDialog;

var wbLayout = web.layout(winform);

wbLayout.html =
/*********
<html>
<head>
  <style>
    html{
      font:system;
    }
    form.light-box-dialog {
      behavior: light-box-dialog;
      display:none;
      width:50%;
      height:50%;
      margin:*;
      background-color:red;
      background-position:26 26 26 26;
      padding:28px;
    }
    div.shim /* background shim, spans whole view */  {
      position: fixed;
      top:0;
      right:0;
      bottom:0;
      left:0;
      background-color: rgba(0,0,0,0.5);
    }
   
  </style>  
</head>
<body>
  <form.light-box-dialog>
    <p .button-bar ><button role="ok-button">确定</button><button role="cancel-button">取消</button></p>
    <p>这里随便放点文本什么的....<p>
   
  </form>

  <p>测试内容: <input type="text" value="HTMLayout 非常好用"/> <button>某些控件</button></p>
  <button #test-dlg>点这里弹出对话框</button>
</body>
</html>
*********/


submit=wbLayout.getEle(
"test-dlg");
submit.onButtonClick =
function (ltTarget,ltEle,reason,behaviorParams) {
    wbLayout.$1(
"form.light-box-dialog").xcall("show")
}

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

4

主题

852

回帖

4689

积分

荣誉会员

积分
4689
发表于 2012-8-28 20:50:22 | 显示全部楼层
behavior 自定义的函数,在CSSS!脚本里是直接调用。
但是在aardio里应当这样写
  1. 节点对象.xcall("自定义函数名",其他参数);
复制代码

37

主题

147

回帖

1240

积分

四级会员

积分
1240
 楼主| 发表于 2012-8-28 21:30:50 来自手机 | 显示全部楼层
非常感谢
来自:aardio编程论坛 Android客户端来自: Android客户端
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2024-9-9 14:03 , Processed in 0.061997 second(s), 23 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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