重新渲染任何RichFaces组件后,jQuery不再起作用

时间:2013-06-30 03:49:29

标签: jquery jsf richfaces

我有一个页面,其中包含以下组件:

  • 1按钮
  • 使用jQuery下拉列表
  • 1个按钮,其on click事件使用jQuery
  • 更改文本框值
  • hover上显示的另外两个按钮

如果我更改下拉值或按下按钮,则ajax会重新呈现该页面。在那之后,jQuery不再起作用了。如果我刷新页面,那么jQuery工作正常。

这是如何引起的?如何解决?

1 个答案:

答案 0 :(得分:0)

当新元素出现在页面上时,它们没有您之前使用的事件绑定(例如$('.menu').click ...)。重新呈现页面后,您需要再次执行这些操作。来自文档:

  

事件处理程序仅绑定到当前选定的元素;它们必须存在于您的代码调用.on()时的页面上。要确保元素存在且可以选择,请在文档就绪处理程序内对页面上HTML标记中的元素执行事件绑定。如果将新HTML注入页面,请在将新HTML放入页面后选择元素并附加事件处理程序。

http://api.jquery.com/on/