mon problème réel est que la méthode .live() jQuery ne fonctionne pas.jQuery .live() ne fonctionne pas
Ce Sí le code où je l'utilise:
jQuery.fn.sb_animateMenuItem = function()
{
var mousehoverColor = '#0089F7';
var duration = 250;
return this.each(function()
{
var originalColor = $(this).css('background-color');
$(this).live('mouseover', function()
{
this.style.cursor = 'pointer';
$(this).animate().stop();
$(this).animate(
{
backgroundColor: mousehoverColor
}, duration);
});
$(this).live('mouseout', function()
{
this.style.cursor = 'default';
$(this).animate(
{
backgroundColor: originalColor
}, duration);
});
});
};
Ce Snipped i est utilisé une autre page de cette façon:
<script type="text/javascript" src="ui/js/jquery-1.4.2.js"></script>
<script type="text/javascript" src="ui/js/jquery-ui-1.8.1.custom.min.js"></script>
<script type="text/javascript" src="ui/js/color.js"></script>
<script type="text/javascript" src="engine/js/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript" src="ui/js/ui.js"></script>
<script type="text/javascript">
// UI effects
$(document).ready(function()
{
$('button').sb_animateButton();
$('input').sb_animateInput();
$('.top_menu_item').sb_animateMenuItem();
$('.top_menu_item_right').sb_animateMenuItem();
$('.left_menu_item').sb_animateMenuItem();
});
</script>
Depuis mon site utilise des requêtes AJAX i utilisé la méthode .live dans le premier extrait, mais quand je charge la page, les effets ne sont pas appliqués au bouton/entrée ... tags.
Si je supprime la méthode .live et que j'utilise la méthode "normale", les effets ui définis dans la première section sont appliqués mais seuls les éléments sont chargés avant toute requête AJAX. Les éléments chargés après la requête ajax ne sont pas affectés par le premier extrait (bien qu'ils aient le même sélecteur).
Merci de votre aide.
Un très grand +1. J'ai beaucoup appris de cette réponse. +1 à OP pour poser la question. – user113716
Eh bien ... j'ai essayé dans les deux sens, mais ça ne marche toujours pas. J'ai décidé d'affronter le problème d'une autre manière: http://stackoverflow.com/questions/3032767/insert-html-into-a-page-with-ajax. – siannone
@Silvio - Qu'est-ce qui ne fonctionne pas? J'ai fourni une démo montrant que cela fonctionne, vous devriez expliquer * ce qui ne fonctionne pas. Il est difficile de donner une solution lorsque vous ne connaissez pas le problème ... –