2010-10-15 46 views
0

因此,我创建了我的搜索自动完成结果(自定义自动完成)的几个功能,虽然结果是静态的,悬停和点击事件工作正常...jQuery搜索结果...悬停和点击不再工作?

但现在结果是动态生成的,我的divs不再响应他们的悬停和点击事件。

jQuery没有再看到div,因为它们是动态的吗?我应该在结果返回时创建这些事件吗?它不是那么困难...

+0

+1抵消downvote。为什么给出? – 2010-10-15 13:47:28

回答

2

如果您向我们展示一些代码,我们可以更直接有用,但是我可以告诉你最有可能您描述的问题的原因来自您的内容被替换动态,这导致悬停和点击事件丢失(阅读:不重新应用)。幸运的是,您只需在jQuery中调用$.live()方法即可确保每当您的匹配元素被替换时,它们都会自动重新绑定。

的$ .live()函数具有完全相同的语法为$ .bind():

$('.linkButton').live('click', function() { 
    // click handler goes here 
}); 
+0

我可以回想起当时我在诅咒事件绑定带来的范围丧失的时刻。但$ .live真的节省了一天的时间! :) – 2010-10-15 13:31:34

+0

这真是太棒了...所以在任何情况下,当一个事件可能是动态的,我把它包装在一个“实时”功能中? – dcolumbus 2010-10-15 15:49:13

+0

伙计们,我测试了它,它的功能非常出色! “绑定”和“现场”之间的主要区别是什么? – dcolumbus 2010-10-15 16:00:52