Вот мой код
$(".inboxfeedlist li").hover(function(e){alert('');}
Это не работает для динамически созданных элементов, даже я использую
$(".inboxfeedlist li").bind('hover',function(){})
тоже не работает, в чем проблема с кодом.
Вот мой код
$(".inboxfeedlist li").hover(function(e){alert('');}
Это не работает для динамически созданных элементов, даже я использую
$(".inboxfeedlist li").bind('hover',function(){})
тоже не работает, в чем проблема с кодом.
Используйте живой метод:
$(".inboxfeedlist li").live('hover', function(e){alert('');});
Примечание: hover требует двух функций обратного вызова, вы имели в виду mouseover
$(".menu li").hover(function(){$(".submenu",this).toggle()})
. Поскольку переключатель зависит от текущего состояния элемента, его можно использовать для наведения и отвода курсора.
- person Joseph Marikle; 02.11.2011
.live('hover' ...
работает, но не .hover
на динамическом элементе?
- person borayeris; 06.02.2014
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
. Это просто не работает. Но, судя по тому, что я читал, hover — это всего лишь адаптация mouseenter и mouseleave, так что все в порядке. (https://stackoverflow.com/a/4463384/1031340)
Если вам не нужна поддержка IE6, я рекомендую вам использовать :hover
в вашем CSS (если это изменение только в CSS, как в примере выше).
попробуйте вживую
$(".inboxfeedlist li").live('hover',function(){});
Используйте delegate
или live
для привязки событий. Это гарантирует, что все, что добавляется динамически, также будет привязано к обработчику событий.
Похоже, вам нужно live или делегировать. Делегат предпочтительнее
$(document.body).delegate(".inboxfeedlist li", "hover", function(){
alert('');
});
$('.inboxfeedlist li').live('hover', function(e) { alert(''); });
Вы можете использовать что-то вроде этого:
$(document).on('mouseover','div.cover-wrapper',function(){
$(this).css({'border':'1px solid #000'});
});
$(document).on('mouseout','div.cover-wrapper',function(){
$(this).css({'border':'none'});
});
Вот использование и подробности этих функций
$(селектор).live(события, данные, обработчик); // jQuery 1.3+
$(документ).делегат(селектор, события, данные, обработчик); // jQuery 1.4.3+
$(документ).on(события, селектор, данные, обработчик); // jQuery 1.7+