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

使用jQuery自动向新创建的元素添加事件处理程序,jquery,Jquery,在文档就绪时,我将此事件处理程序附加到具有bubbleItemOff类的所有元素。 我的问题是,一些bubbleItemOff元素是在触发document ready事件后动态创建的 是否有任何方法可以自动将事件处理程序添加到新创建的元素中,或者在创建元素后必须显式地添加事件处理程序 $(function() { $('.bubbleItemOff').mouseenter(function(e) { //... }); }

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

是否有任何方法可以自动将事件处理程序添加到新创建的元素中,或者在创建元素后必须显式地添加事件处理程序

  $(function() {
      $('.bubbleItemOff').mouseenter(function(e) 
       {
          //...
       });
   });
您可以在委派事件方法中使用jQuery方法:

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

此处
.parentItem
指的是
的任何父元素。bubbleItemOff
使用
on()
方法对公共父元素使用事件委派(假设您使用的是jQuery 1.7.x+,例如

如果您使用的是旧版本,请改用
delegate()
。使用
.bubbleItemOff

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