I'm having a problem with dynamically created elements on hover state. When I hover on newly created html element, it doesn't work.
Here's my HTML code:
<button id="create">create new button</button>
<button class="hover">hover me</button>
<div></div>
jQuery:
var createBtn = $("#create");
createBtn.click(function() {
$('div').append('<button class="hover">new hover button</button');
return false;
});
$('.hover').hover(function() {
alert('you hovered the button!');
}, function() {
alert('you removed the hover from button!');
});
I even tried this code:
$('.hover').on({
mouseenter : function() {
alert('you hovered the button!');
},
mouseleave : function() {
alert('you removed the hover from button!');
}
});
as shown here http://api.jquery.com/on/, but still no luck. Here's also demo: http://jsfiddle.net/BQ2FA/
This isn't the correct syntax.
Use this to listen to your events for dynamically created '.hover' elements :
$(document).on('mouseenter', '.hover', function(){
alert('you hovered the button!');
}).on('mouseleave', '.hover', function() {
alert('you removed the hover from button!');
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With