• 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>

  • 相关阅读:
    CentOS 7下安装Python3.6
    Django项目运行时出现self.status.split(' ',1)[0], self.bytes_sent,ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。
    pycharm激活码
    CentOS7环境下安装VIM8 并支撑python3
    CentOS7下源码安装mysql
    formset和modelformset
    ModelForm中定制datetimepicker插件
    ModelForm--定制样式
    Django--models字段参数 limit_choices_to
    复习--类的继承
  • 原文地址:https://www.cnblogs.com/OOAbooke/p/2319603.html
Copyright © 2020-2023  润新知