javascript - RichFaces 4.1.0的popupPanel.js中的一个函数如何被覆盖?

标签 javascript richfaces

我在使用 RichFaces 弹出面板时遇到问题。我需要在打开弹出窗口后立即将焦点设置在弹出窗口中的第一个输入元素上。然后,用户必须能够使用键盘遍历弹出窗口中的所有输入元素。目前我使用的是 RichFaces 4.1.0。

在浏览不同的论坛后,我了解到这是 RichFaces 4.1.0 中的错误,已在 RichFaces 4.2.3 版本中修复。 Jboss 社区通过更改 popupPanel.js 文件的函数 processAllFocusElements 解决了这个错误。

我现在无法迁移到 RichFaces 4.2.3。那么我怎样才能覆盖的默认行为 函数 processAllFocusElements 以便它可以正确地为我使用 RichFaces 4.1.0 本身?

谢谢。

最佳答案

一种可能性是修补 RichFaces jar 文件并用 4.2.3 中的文件替换 popupPanel.js。

可能是一种更简单的方法:将 4.2.3 popupPanel.js 文件(从中删除不需要的部分)放到项目文件夹中,然后按照加载自定义 javascripts 的方式加载它 (我猜是在模板中的某处使用 h:outputScript)。 基本上 4.1.0 popupPanel.js 仍将执行,但随后您的 4.2.3 版本将执行并覆盖结果。

单个方法的简单覆盖看起来像这样:

jQuery.extend(RichFaces.ui.PopupPanel.prototype, {
    processAllFocusElements: function(root, callback) {
        ....
    }
}

关于javascript - RichFaces 4.1.0的popupPanel.js中的一个函数如何被覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20902163/

相关文章:

javascript - 在外部范围事件上触发 Promise.fulfill

java - 如何使用 JSF Richfaces AJAX 向/从 bean 函数发送/接收数据?

seam - 使用 Hibernate Validator (3.1.0.GA) 进行跨域验证

jsf - 如何将注释与 faces-config.xml 混合

JavaScript 调试器显示对象属性的双冒号,Handlebars 无法渲染

javascript - 如何使用历史推送状态

javascript - 如何使用 Puppeteer 截取表格的屏幕截图?

javascript - Highcharts - 散点图 : How to send information from clicks to a function with information about the click as parameters

java - JSF 2 : f:convertDateTime inside a rich:dataTable

jsf - 呈现响应后非法尝试设置 ViewHandler