0

我有一个包含以下组件的页面:

  • 1 个按钮
  • 1个使用jQuery的下拉列表
  • 1 个按钮,其点击事件使用 jQuery 更改文本框值
  • 2 悬停时显示的另一个按钮

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

这是如何引起的,我该如何解决?

4

1 回答 1

0

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

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

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

于 2013-06-30T04:31:14.707 回答