使用jQuery自动将事件处理程序添加到新创建的元素

在文档就绪时,我将此事件处理程序附加到具有类bubbleItemOff的所有元素。 我的问题是在触发文档就绪事件后动态创建了一些bubbleItemOff元素。

有没有办法自动将事件处理程序添加到新创建的元素中,或者在创建元素后是否必须显式执行此操作?

$(function() { $('.bubbleItemOff').mouseenter(function(e) { //... }); }); 

使用on()方法在公共父元素on()使用事件委托(假设您正在使用jQuery 1.7.x +),例如

 $(function() { $('body').on('mouseenter', '.bubbleItemOff', function(e) { ... } } 

如果您使用的是旧版本,请使用delegate() 。 使用.bubbleItemOff的第一个公共父元素更改body

您可以在委托事件方法中使用jQuery方法:

 $(".parentItem").on("mouseenter", ".bubbleItemOff", function(e) { // }); 

这里.parentItem引用.bubbleItemOff任何父.bubbleItemOff