【问题标题】:Detecting client-side changes to UI components in PrimeFaces on page exit?在页面退出时检测 PrimeFaces 中 UI 组件的客户端更改?
【发布时间】:2013-12-20 22:58:14
【问题描述】:

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

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

【问题讨论】:

    标签: javascript jquery jsf jsf-2 primefaces


    【解决方案1】:

    没有完整的现有机制。

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

    我也测试过,当使用鼠标进行更改时,在某些组件(如 selectOneMenu、autoComplete)上注册 onchange 不起作用。

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

    【讨论】:

      猜你喜欢
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      • 2011-12-29
      • 2020-12-03
      • 1970-01-01
      • 1970-01-01
      • 2015-08-17
      • 1970-01-01
      相关资源
      最近更新 更多