Javascript 在ajax调用后重新初始化dom事件

Javascript 在ajax调用后重新初始化dom事件,javascript,ajax,dom,Javascript,Ajax,Dom,我有以下问题/疑问,希望有人能帮助我。 假设我在加载页面时初始化了几个javascript事件。在此页面中,我允许用户单击几个操作按钮(其中包含这些事件)。现在,在本例中,其中一个按钮进行ajax调用,成功的结果将使该按钮消失并显示另一个按钮(我从ajax响应中注入此html)。在这一刻,我还想向这个新按钮添加一个事件,所以在我注入html之后,我就这样做了。当我点击这个按钮时,我希望第一个按钮再次出现,而这个按钮被取消。现在这个新按钮(Begging中的那个按钮)必须再次具有相同的事件!我是否

我有以下问题/疑问,希望有人能帮助我。 假设我在加载页面时初始化了几个javascript事件。在此页面中,我允许用户单击几个操作按钮(其中包含这些事件)。现在,在本例中,其中一个按钮进行ajax调用,成功的结果将使该按钮消失并显示另一个按钮(我从ajax响应中注入此html)。在这一刻,我还想向这个新按钮添加一个事件,所以在我注入html之后,我就这样做了。当我点击这个按钮时,我希望第一个按钮再次出现,而这个按钮被取消。现在这个新按钮(Begging中的那个按钮)必须再次具有相同的事件!我是否需要再次初始化该事件?难道没有一种方法可以让它自动聚合吗?我的意思是,如果我对某个div的所有都有几个事件,并且我在该div中加载了另一个ajax,那么它不应该立即响应相同的事件吗?
感谢jQuery有一个实时事件注册功能,它可以为选择器的所有当前和未来匹配保持事件的正确性。()


至于普通Javascript,是的,您需要再次注册事件。

如果您只是隐藏原始按钮(例如
显示:无),那么您在开始时附加到它的所有事件仍将存在

在初始页面加载之后创建的新按钮(例如,通过从Ajax请求添加按钮)将需要在它们安全地位于DOM中时将事件附加到它们

jQuery有一个自动执行此操作的功能,它称之为live。这允许您指定一个选择器,并且它将被持续监视。只要DOM中出现与原始选择器匹配的新对象,事件也将附加到它


Live文档可以在这里看到:

从jQuery 1.7开始修改,将.Live()替换为.on(),从jQuery 1.7开始修改,将.Live()替换为.on()