2015-11-11 48 views
1

我有我希望会是一个简单的问题。我更常用的是jQuery和JavaScript。将jQuery事件处理程序应用于相同类型的所有元素

我正试图编写一个简单的jQuery事件处理程序,当我将鼠标悬停在他们的页面上时,它将突出显示页面上的li。我试过了:

$('li').on('mouseover', function(evt) { 
    $(evt.target).effect('highlight', {}, 1000); 
}); 

它不起作用。它不会产生错误,但没有结果。

不过,如果我尝试类似:

$(document).on('mouseover', function(evt) { 
    $(evt.target).effect('highlight', {}, 1000); 
}); 

我能够突出显示任何DOM元素我想通过鼠标悬停。

我将事件处理程序放在我的js文件的末尾,并且使用第二种方法显示,即使是动态生成的DOM元素也可以高亮显示而不会出现问题。但是,如果我尝试通过标记或者甚至是类来选择DOM元素,我无法产生任何效果。

+0

将evt.target改为 –

+0

对于动态内容使用:'$(document).on('yourevent','yourelement',function(){} –

回答

0

尝试委托了记录,像这样,因为你的目标动态内容:

$(document).on('mouseover', 'li', function(evt) { 
    $(evt.target).effect('highlight', {}, 1000); 
}); 

您可能需要阅读本Event Delegation

+0

这样做!谢谢:) –

相关问题