首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从KRL闭包外部调用在KRL中定义的javascript函数

从KRL闭包外部调用在KRL中定义的javascript函数
EN

Stack Overflow用户
提问于 2011-01-13 04:10:12
回答 2查看 139关注 0票数 2

我在我的KRL全局块中定义了一个Javascript函数,当用户单击链接时,我希望调用该函数。以下是规则集的相关部分:

代码语言:javascript
复制
global {
  emit <|
    function clear_hold() {
      app = KOBJ.get_application("a421x26");
      app.raiseEvent("clear_hold");
    }

  |>;
}

rule add_link_to_clear_hold {
  select when pageview ".*"
  pre {
    clear_div = << <div id="clear_hold">
      <a href="javascript:clear_hold()">Clear Hold</a>
      </div> >>;
  }
  {
    append("body", clear_div);
  }

rule clear_the_hold {
  select when web clear_hold
  {
    replace_html("#clear_link", "<div id='clear_link'>Not on hold</div>");
  }
  always {
    clear ent:hold;
  }
}

当我单击该链接时,我得到一条错误消息,指出clear_link未定义。

我需要做什么来调用我的javascript函数?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-13 04:47:26

建议使用以下名称间隔方法将JavaScript函数附加到KOBJ对象,以避免与用户可能正在运行的其他应用程序发生冲突。

代码语言:javascript
复制
KOBJ.a60x33.clear_hold = function() { 
  KOBJ.log('...wohoo! You found me!'); 
}

然后可以使用以下命令调用该函数

代码语言:javascript
复制
KOBJ.a60x33.clear_hold();
票数 5
EN

Stack Overflow用户

发布于 2011-01-13 04:12:13

函数是在KRL闭包内部定义的,但我是从闭包外部调用的。为了使其在外部可见,我在定义函数后将其添加到KOBJ中

代码语言:javascript
复制
KOBJ.clear_hold = clear_hold;

然后从链接调用它:

代码语言:javascript
复制
href="javascript:KOBJ.clear_hold()
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4673521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档