jQuery.fn.testeee = function(_msg)
{
alert(_msg);
$(this[0]).overlay({
onBeforeLoad: function()
{
alert(_msg);
}
}).load();
};
$("#popup").testeee ('test');
$("#popup").testeee ('another_test');
Cette affiche:Ayant des problèmes avec des fonctions anonymes JavaScript
- tests
- Test
- another_test
- Test
L'alerte() à l'intérieur fonction de l'anonymat asigned à onBeforeLoad continue d'afficher "test". J'essaie ceci:
jQuery.fn.testeee = function(_msg)
{
alert(_msg);
$(this[0]).overlay({
onBeforeLoad: static_func(_msg)
}).load();
};
function static_func(_msg)
{
alert(_msg);
}
$("#popup").testeee ('test');
$("#popup").testeee ('another_test');
Et cela fonctionne très bien. Il affiche:
- Test
- Test
- Test
- Test
Tout le monde sait pourquoi peut se passer cela?
Que se passe-t-il lorsque vous appelez testeee sur différents éléments? Peut-être que l'overlay n'en crée pas un nouveau s'il en existe déjà un sur l'élément? – seth