Javascript .hover事件对页面加载后动态加载的元素不起作用

Javascript .hover事件对页面加载后动态加载的元素不起作用,javascript,jquery,Javascript,Jquery,对于通过jQuery动态加载的一组divs,我有以下事件处理程序 $(document).ready(function () { $('.one span').hover(function () { $(this).animate({ backgroundColor: '#666666', color: '#DDDDDD', marginRight: 5 }, 250); }, function () { $(this).animate({ bac

对于通过jQuery动态加载的一组
div
s,我有以下事件处理程序

$(document).ready(function () {
    $('.one span').hover(function () {
        $(this).animate({ backgroundColor: '#666666', color: '#DDDDDD', marginRight: 5 }, 250);
    }, function () {
        $(this).animate({ backgroundColor: '#DDDDDD', color: '#666666', marginRight: 0 }, 250);
    });
});
问题是这些事件处理程序没有被触发,我怀疑这可能是因为这些元素
$('.one span')
是在页面加载后通过jQuery加载的

在这种情况下我能做什么?如何对稍后将出现的元素执行某种类型的“后期绑定”?

而不是
$('.one span')。悬停(
使用委派事件,因为它是动态添加到DOM的。请参见下文

$(document).on('mouseenter', '.one span', function () {
  $(this).animate({ backgroundColor: '#666666', color: '#DDDDDD', marginRight: 5 }, 250);
}).on('mouseleave', '.one span', function () {
   $(this).animate({ backgroundColor: '#DDDDDD', color: '#666666', marginRight: 0 }, 250);
});
文档
替换为执行上述脚本时存在的最接近的容器。

而不是
$('.one span')。悬停(
使用委派事件,因为它是动态添加到DOM的。请参见下文

$(document).on('mouseenter', '.one span', function () {
  $(this).animate({ backgroundColor: '#666666', color: '#DDDDDD', marginRight: 5 }, 250);
}).on('mouseleave', '.one span', function () {
   $(this).animate({ backgroundColor: '#DDDDDD', color: '#666666', marginRight: 0 }, 250);
});
文档
替换为执行上述脚本时存在的最接近的容器。

而不是
$('.one span')。悬停(
使用委派事件,因为它是动态添加到DOM的。请参见下文

$(document).on('mouseenter', '.one span', function () {
  $(this).animate({ backgroundColor: '#666666', color: '#DDDDDD', marginRight: 5 }, 250);
}).on('mouseleave', '.one span', function () {
   $(this).animate({ backgroundColor: '#DDDDDD', color: '#666666', marginRight: 0 }, 250);
});
文档
替换为执行上述脚本时存在的最接近的容器。

而不是
$('.one span')。悬停(
使用委派事件,因为它是动态添加到DOM的。请参见下文

$(document).on('mouseenter', '.one span', function () {
  $(this).animate({ backgroundColor: '#666666', color: '#DDDDDD', marginRight: 5 }, 250);
}).on('mouseleave', '.one span', function () {
   $(this).animate({ backgroundColor: '#DDDDDD', color: '#666666', marginRight: 0 }, 250);
});

用执行上述脚本时存在的最接近的容器替换
文档

相关的是您正在加载
。一个
span
,或者只是
span
?如果您正在加载这两个,那么
的父项是什么?一个
?答案与事件委派相关。相关的是您正在加载
。一个
span
或只是
span
?如果您同时加载这两个,那么
的父项是什么?一个
?答案与事件委派相关^nt delegation^^。相关的是您正在加载
。一个
span
还是只加载
span
?如果您同时加载这两个,那么
.one
的父项是什么?答案与事件委派相关^1。您需要分别加载
鼠标器和
鼠标器
鼠标器。@Blazer谢谢。更新,作为
鼠标器使用nter
mouseleave
但我认为我在某处看到了
。hover
并对其进行了更改..但在API文档中验证了这一点..您需要分别使用
mouseenter
mouseleave
。@Blazemonger谢谢。更新后,将其命名为
mouseenter
mouseleave
,但我认为我看到了
。hover
somewhere并更改了它..但在API文档中验证了它..您需要分别使用
mouseenter
mouseleave
。@Blazemonger谢谢。更新后,它被命名为
mouseenter
mouseleave
,但我认为我看到了
。将鼠标悬停在某处并更改了它..但在API文档中验证了它..您需要
鼠标分别输入
mouseleave
。@Blazemonger谢谢。更新后,它被命名为
mouseenter
mouseleave
,但我认为我看到了
。悬停在某个地方并更改了它。。但在API文档中验证了这一点。