我在我的KRL全局块中定义了一个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函数需要做什么?
答案 0 :(得分:5)
建议使用以下名称间距方法将JavaScript函数附加到KOBJ对象,以避免与用户可能已运行的其他应用程序发生冲突。
KOBJ.a60x33.clear_hold = function() {
KOBJ.log('...wohoo! You found me!');
}
然后可以使用
调用该函数KOBJ.a60x33.clear_hold();
答案 1 :(得分:3)
该函数在KRL闭包内定义,但我从闭包外部调用。为了使它在外面可见,我在定义函数
后将其添加到KOBJKOBJ.clear_hold = clear_hold;
然后从链接中调用它:
href="javascript:KOBJ.clear_hold()