我想覆盖从Omnifaces的o:highlight
组件调用的Javascript函数。我看到taglib调用了函数OmniFaces.Highlight
:
如何覆盖此函数以使用我自己的实现?
我现在看到的唯一方法是覆盖Java类org.omnifaces.component.script.Highlight
以调用另一个函数名。
还有另外一种方法吗?我不想覆盖所有课程内容,因为在下次更新Omnifaces时,我需要检查课程是否已更改。
答案 0 :(得分:2)
只需在JavaScript上下文中重新定义该函数。
OmniFaces.Highlight.apply = function(clientIds, styleClass, doFocus) {
// ...
}
加载 omnifaces.js
后,您只需确保已定义此功能。您可以通过<h:outputScript target="head">
内的<h:body>
将您的脚本包含在内来确保这一点。
<h:head>
...
</h:head>
<h:body>
<h:outputScript name="yourscript.js" target="head" />
...
</h:body>
或者,将issue发布给OmniFaces人员并让他们实现您想要更改的所需功能。