Salut,
oui, en effet, le fait d'ajouter addEventListener va permettre de mettre tout le monde au même niveau c'est à dire : chargement lent pour tous !
En revanche, celà va permettre de mettre le script en externe, ce qui sémantiquement parlant sera un plus...
Lorsque je n'ai pas de besoins particuliers en terme de vitesse, j'ai recours à cette fonction :
Code : Tout sélectionner
var fnConnect = function(oElem, sEvType, fn, bCapture)
{
return oElem.addEventListener ?
oElem.addEventListener(sEvType, fn, bCapture):
oElem.attachEvent ?
oElem.attachEvent('on' + sEvType, fn):
oElem['on' + sEvType] = fn;
};qui prend aussi en compte les navigateurs plus anciens...
Si, par contre, j'ai besoin d'un script plus rapide, je sors l'artillerie lourde à savoir
cette méthode...
Je la complète par ce petit bout de script afin de la rendre compatible IE5 :
Code : Tout sélectionner
var Array_push = function()
{
var A_p = 0;
for (A_p = 0; A_p < arguments.length; A_p++)
{
this[this.length] = arguments[A_p];
}
return this.length;
}
if(typeof Array.prototype.push == "undefined")
{
Array.prototype.push = Array_push;
}
Si tu veux un exemple, je m'en suis servi sur
ce menu. Une image lourde apparaît mais le menu est déjà opérationnel.
Juste une chose... Avant même de penser à employer ce type de méthode, il est bon d'optimiser ses pages... Dans la plupart des cas, ça suffit... Rien ne sert de se servir de méthodes de compet' si c'est pour faire n'importe quoi derrière... Enfin, c'est ce que j'en dit...
Un dernier petit truc, tu peux remplacer :
où tu as oublié de fermer le CDATA par :
lorsque tes scripts sont intrusifs...
En espérant que ça t'aide...
