【问题标题】:calling js function in Icefaces在 Icefaces 中调用 js 函数
【发布时间】:2012-03-22 07:27:02
【问题描述】:

我有问题。 设想: 我正在开发一个问答游戏,我需要使用 javascript (jquery.timer.js) 显示计时器。 我创建了一个 js 文件(question.js)(包含一个称为 startTimer 的方法),它为计时器调用 jquery.timer.js 函数并在屏幕上显示计时器。

点击回答按钮时,我正在调用托管 bean 方法来验证用户回答 如果答案正确,我将更改屏幕上的问题。

我的查询: 1)如何包含两个js文件(question.js和jquery.timer.js) 2)当我的表单加载或屏幕上的问题发生变化时,我如何调用js函数(startTimer)。

注意: 我正在使用 facelet,我需要在包含 ui:composition 标记的 myquiz.xhtml 中执行上述操作。

谁能帮我解决这个问题。

任何帮助都是可观的

感谢和问候 拉杰什瓦

【问题讨论】:

    标签: javascript icefaces


    【解决方案1】:

    1)如何包含两个js文件(question.js和jquery.timer.js

    在 h:head 内:

    <script type="text/javascript" src="question.js"/>
    <script type="text/javascript" src="jquery.timer.js"/>
    

    我的表单加载时如何调用js函数(startTimer)

    我不确定这个,但您可以使用 JavascriptContext 将 javascript 发送到浏览器。例如在你准备下一个问题时在你的 bean 中

    JavascriptContext.addJavascriptCall(FacesContext.getCurrentInstance(), "call your function();");
    

    【讨论】:

      【解决方案2】:

      对于#1,我会使用:

      <h:outputScript library="js" name="question.js" target="head"/>
      <h:outputScript library="js" name="jquery.timer.js" target="head"/>
      

      对于#2,(加载时)只需添加:

      <script type="text/javascript">
      /* <![CDATA[ */
      window.onLoad(function(){
          yourFunction();
      });
      /* ]]> */
      </script> 
      

      否则,只需将JavascriptContext.addJavascriptCall 添加为提到的用户 FS

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-17
        相关资源
        最近更新 更多