zoukankan      html  css  js  c++  java
  • zk调用js(转)

    Zk中调用js有两种方式:

    1. 通过action。

    2. 通过atrribute

    下面对这两种方式做一个简要介绍。

    1. action方法:

    概述:

    某些行为在客户端用JavaScript代码处理更为合适,例如动画和图像转滚(image rollovers)。为了客户端执行javaScript代码,ZK引入了客户端行为(CSA)的概念。使用CSA,开发人员可以监听任何JavaScript时间且在客户端执行JavaScript代码。

    CSA语法:

    Action=”[onfocus|onblur|onmouseover|onmouseout|onclick|onshow|onhide…]:javascript;”

    注意CSA是完全独立于ZK事件监听器的,尽管他们或许有相同的名字,例如onFocus。不同点包括:

    Ø CSA在客户端执行,且在服务器端的ZK时间将监听器被调用前发生。

    Ø CSA代码用JavaScript编写,而ZK事件将监听器用Java编写。

    Ø CSA可以注册你的目标浏览器允许的任何事件,而ZK近仅支持《ZK开发手册》中事件章节所列事件。

    实例:

    <zk>

    <script>

    function create(){

    alert(‘test’);

    }

    </script>

    <window>

    <menubar>

    <menuitem src="/img/add.png" id="create" label="新建" action="onClick:create()" />

    </menubar>

    </window>

    </zk>

    2. attribute方式

    概述:zk本身是在服务器端执行的脚本,为了便于执行本地的javascript方法,zk提供了一套方法:Clients.evalJavaScript(),如:

    实例:

    function testAlert() { alert("111"); }

    1. <button label="SayHello">  
    2.      <attribute name="onClick">      
    3.      <![CDATA[      
    4.          Clients.evalJavaScript("testAlert();");  
    5.      ]]>      
    6.      </attribute>      
    7. </button> 

    当js中需要传入变量时,要注意格式:

    <script>

    function selt(mm){

    alert(mm);

    }

    </script>

    <listbox id="flowTemp" checkmark="true">

    <attribute name="onSelect">

    <![CDATA[

    Clients.evalJavaScript("selt('"

    + (String) flowTemp.getSelectedItem().getValue() + "');");

    ]]>

    </attribute>

    </listbox>

  • 相关阅读:
    JAVA-AbstractQueuedSynchronizer-AQS
    线程封闭
    安全发布对象
    JAVA并发基础
    C#JsonConvert.DeserializeObject反序列化json字符
    Java并发容器
    JAVA简易数据连接池Condition
    Java线程读写锁
    JDK提供的原子类和AbstractQueuedSynchronizer(AQS)
    协方差矩阵分解的物理意义
  • 原文地址:https://www.cnblogs.com/OOAbooke/p/2319603.html
Copyright © 2011-2022 走看看