javascript - 检测页面退出时 PrimeFaces 中 UI 组件的客户端更改?

标签 javascript jquery jsf jsf-2 primefaces

我想在离开页面时实现警告消息,未保存的更改将丢失。但是,为了正确执行此操作,我需要知道 PrimeFaces 组件是否在客户端发生了更改。

是否有我可以使用的现有机制?我考虑过在所有输入和文本区域上注册 keydown 监听器,但该字段的内容也可以通过鼠标事件更改。另一方面,如果焦点位于字段内然后页面关闭,则不会触发 onblur,因此不会检测到此类更改。我还测试过,当使用鼠标进行更改时,在某些组件(如 selectOneMenu、autoComplete)上注册 onchange 不起作用。

最佳答案

目前还没有完整的机制。

但是您可以在值更改时调用 ValueChangeListener,也可以在元素内使用带有 onChange 属性的 JavaScript 函数。

I've tested also, that registering onchange on some components (like selectOneMenu, autoComplete) is not working when the change is made with mouse.

这取决于您使用的浏览器。为了确保一切正常,我将测试 onClick 并检查元素内的值是否确实发生了变化。

关于javascript - 检测页面退出时 PrimeFaces 中 UI 组件的客户端更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20375664/

相关文章:

javascript - GruntJS - grunt 构建后图像路径错误

javascript - Twilio - 为所有连接的参与者显示远程参与者视频

javascript - Google 饼图工具提示 z-index

javascript - Bootstrap 3中Datatables插件显示格式的自定义

Javascript 在基于 PrimeFaces 的页面中搞砸导航

java - JBoss 焊接 + java.lang.OutOfMemoryError : PermGen space

javascript - Promise 的主体何时执行?

jquery - 如何将 Tab 键限制为页面上的特定形式或一组链接/按钮?

javascript - 基于 JSF 的 Web 架构中是否有 JQuery 的空间?

javascript - ASP.NET 文档.getElementById ('<%=Control.ClientID%>' );返回空