Jquery.Hover not working for dynamic Element

2020-03-24 04:12发布

Here is my code

$(".inboxfeedlist li").hover(function(e){alert('');}

This is not working for dynamically created elements, even i have use

$(".inboxfeedlist li").bind('hover',function(){})

is also not working, what's problem with code.

8条回答
再贱就再见
2楼-- · 2020-03-24 04:47

You could use something like this:

$(document).on('mouseover','div.cover-wrapper',function(){
    $(this).css({'border':'1px solid #000'});
});


$(document).on('mouseout','div.cover-wrapper',function(){
    $(this).css({'border':'none'});
});
查看更多
Rolldiameter
3楼-- · 2020-03-24 05:01

live become deprecated at jQuery 1.9. We can use on with mouseenter and mouseleave events instead:

$(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')");
});

For some reason I can't use hover with on. It simply doesn't work. But, from what I have read, hover is just an adaptation from mouseenter and mouseleave, so it is fine. (https://stackoverflow.com/a/4463384/1031340)

If you do not need to support IE6, I recommend you use :hover on your CSS (if it is a change only in CSS, how example above).

查看更多
我命由我不由天
4楼-- · 2020-03-24 05:02

Use the live method:

$(".inboxfeedlist li").live('hover', function(e){alert('');});

A side note hover does take two callback functions, did you mean mouseover

查看更多
神经病院院长
5楼-- · 2020-03-24 05:02

try live

$(".inboxfeedlist li").live('hover',function(){});
查看更多
放荡不羁爱自由
6楼-- · 2020-03-24 05:02

Sounds like you need live or delegate. Delegate is prefered

$(document.body).delegate(".inboxfeedlist li", "hover", function(){
        alert('');
});
查看更多
Explosion°爆炸
7楼-- · 2020-03-24 05:03

Use delegate or live to bind the events. This will make sure anything added dynamically will be bound to the event handler as well.

查看更多
登录 后发表回答