2009-09-29 26 views
12

当我添加类“myClass”的某些东西时,我想调用这个元素的一个函数。如何使用Jquery将元素添加到页面时执行操作?

这将是东西的线路:

jQuery(".error_message").live("load",function(){ 
    alert("test"+this); 
}); 

...除了这种不存在。

这样做的最好方法是什么?

+0

你如何将元素添加到DOM? – Colin 2009-09-29 02:59:44

+0

我通过ajax加载了一些新的html并将其放入DOM中 – marcgg 2009-09-29 03:00:50

+0

我可以通过不同的方式添加这些元素,这就是为什么我想避免对这些函数进行回调的原因。 – marcgg 2009-09-29 03:01:28

回答

16

简短的直接回答你的问题是“不行”。但是从几分钟前的评论中,我发现你想以不同的方式添加元素,并且有一个统一的方法来处理这些新添加的项目。我可以提出另一种方法吗? Trigger custom events

它的工作方式是这样的:无论你加载错误消息元素,添加一条线时,它的完成:

$('.error_message').trigger('load'); 

现在你.live(“负荷” ......)的事将工作。

+0

这是一个非常有趣的答案。我真的不确定那是我在找什么......它看起来有点冒险。但我不知道jquery足够让人惊讶。那么,你会说这是一个很好的做法吗? – marcgg 2009-09-29 03:15:18

+1

我会保证它 - 还有一个关于事件池的好文章,它在文档级别上讨论了这个问题:http://www.michaelhamrah.com/blog/index.php/2008/12/event-pooling-with -jquery-using-bind-and-trigger-managing-complex-javascript/ – 2009-09-29 04:23:38

+0

任何想法如何.live()做它做什么? – Kip 2009-09-29 16:13:48

相关问题