这是我的代码
$(".inboxfeedlist li").hover(function(e){alert('');}
这不适用于动态创建的元素,即使我已经使用
$(".inboxfeedlist li").bind('hover',function(){})
也无效,代码有什么问题。
答案 0 :(得分:32)
live
在jQuery 1.9上被弃用了。我们可以将on
用于mouseenter
和mouseleave
事件:
$(document).on("mouseenter", ".save-btn", function(e) {
$(this).css("background-image","url('ie/imgs/btn/hover-btn.png')");
$(this).find("a").css("background-image","url('ie/imgs/btn/hover-btn-left.png')");
});
$(document).on("mouseleave", ".save-btn", function(e) {
$(this).css("background-image","url('ie/imgs/btn/btn.png')");
$(this).find("a").css("background-image","url('ie/imgs/btn/btn-left.png')");
});
出于某种原因,我无法将hover
与on
一起使用。它根本不起作用。但是,根据我的阅读,悬停只是一个来自mouseenter和mouseleave的改编,所以很好。 (https://stackoverflow.com/a/4463384/1031340)
如果您不需要支持IE6,我建议您在CSS上使用:hover
(如果仅在CSS中进行更改,以上示例如何)。
答案 1 :(得分:3)
尝试live
$(".inboxfeedlist li").live('hover',function(){});
答案 2 :(得分:3)
使用实时方法:
$(".inboxfeedlist li").live('hover', function(e){alert('');});
旁注hover确实需要两个回调函数,您的意思是mouseover
答案 3 :(得分:1)
使用delegate
或live
绑定事件。这将确保动态添加的任何内容也将绑定到事件处理程序。
答案 4 :(得分:1)
$(document.body).delegate(".inboxfeedlist li", "hover", function(){
alert('');
});
答案 5 :(得分:0)
答案 6 :(得分:0)
您可以使用以下内容:
$(document).on('mouseover','div.cover-wrapper',function(){
$(this).css({'border':'1px solid #000'});
});
$(document).on('mouseout','div.cover-wrapper',function(){
$(this).css({'border':'none'});
});
答案 7 :(得分:0)
以下是这些功能的用法和详细信息
$(选择器).live(事件,数据,处理程序); // jQuery 1.3 +
$(document).delegate(选择器,事件,数据,处理程序); // jQuery 1.4.3 +
$(document).on(事件,选择器,数据,处理程序); // jQuery 1.7 +