我有以下问题/疑问,希望有人能帮助我。 假设我在加载页面时有几个JavaScript事件正在初始化。在这个页面中,我允许用户点击几个动作按钮(有这些事件)。现在,在这种情况下,其中一个按钮使ajax调用,其中一个成功的结果将使该按钮消失,并使另一个按钮出现(我从ajax响应注入此html)。在这一刻我想添加一个事件到这个新的按钮,所以在我注入html后,我这样做了。当我点击这个按钮时,我希望第一个按钮再次出现,而这个按钮会消失。现在这个新按钮(在开始的那个按钮)必须再次有同样的事件!我是否需要再次初始化该事件?是不是有办法让这种自动化方式成为可能?我的意思是,如果我为某个div的所有人开了几个事件,并且在该div中加载了另一个Ajax,那么不应该对同一事件立即做出回应吗? 谢谢ajax调用后重新初始化dom事件
1
A
回答
1
jQuery有一个实时事件注册功能,它可以保持事件对所有当前和未来匹配的选择器都是正确的。 (jQuery.com)
至于简单的Javascript,是的,您需要重新注册该事件。
1
如果您只是隐藏原始按钮(例如display:none
),那么您在开始时附加到它的所有事件仍然会在那里。
在初始页面加载后创建的新按钮(例如,通过从Ajax请求中添加它们)将需要在DOM中安全地附加事件。
jQuery有一个自动执行此功能的功能,它称为live。这可以让你指定一个选择器,并且会不断监视它。一旦新对象出现在与原始选择器匹配的DOM中,事件也将附加到它。
进行实时文档可以在这里看到:http://docs.jquery.com/Events/live
+0
改性为jQuery的1.7,它取代.live()用。对(中) – Kzqai 2012-07-27 22:34:35
相关问题
- 1. jquery插件重新初始化后ajax
- 2. Javascript Ajax重新初始化
- 3. ajax调用后重新初始化jQuery函数
- 4. 在ajax事件上重新初始化jquery插件
- 5. ajax更新后重新初始化jsf自定义组件
- 6. 如何在AJAX调用后用新数据重新初始化tinyMCE?
- 7. 分配事件元素被破坏并重新初始化后重新
- 8. 在ajax请求后重新初始化processing.js草图
- 9. 在AJAX内容加载后重新初始化Kalthura mwEmbed-player-static.js
- 10. 初始化后添加backbone.js事件
- 11. Guice在初始化对象后调用初始化方法
- 12. 初始化后更新jqTree?
- 13. 重新初始化堆栈
- 14. Java Arraylist重新初始化
- 15. 重新初始化jquery anythingslider
- 16. 重新初始化“ThisWorkbook.Path”
- 17. 重新初始化数组
- 18. Jquery DataTable重新初始化
- 19. 重新初始化航点
- 20. 重新初始化Java类
- 21. 重新初始化面板
- 22. 在用ajax调用替换列表后再次初始化jquery
- 23. 在AJAX调用后刷新DOM和jquery
- 24. Catch ngRepeat初始化事件
- 25. 网络中断后重新初始化/重新连接终端
- 26. jQuery selectmenu在ajax调用后不会初始化
- 27. 如何重新初始化已从DOM中删除的按钮?
- 28. 初始化jQuery插件($ .live()) - DOM加载
- 29. Colorbox Ajax数据 - jScrollPane首次初始化正确,但是之后.destroy重新初始化不工作,空的colorbox
- 30. 初始化调用deleteLater后立即()
修改为jQuery的1.7,它取代.live()用。对() – Kzqai 2012-07-27 22:34:25