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>

  • 相关阅读:
    Apache 配置 HTTPS访问
    Symfony——如何使用Assetic实现资源管理
    跟我一起学wpf(1)-布局
    wpf图片定点缩放
    Chapter 3 Shared Assemblies and Strongly Named Assemblies
    [JavaScript]父子窗口间参数传递
    [HASH]MOD运算用户哈希函数
    [Linux]返回被阻塞的信号集
    [Linux]信号集和sigprocmask信号屏蔽函数
    [Linux]不可重入函数
  • 原文地址:https://www.cnblogs.com/OOAbooke/p/2319603.html
Copyright © 2011-2022 走看看