2010-08-23 5 views
0

Lorsque je passe ceci:erreur Javascript quand je passe à Javascript dégrader gracieusement: ZoomImage() ne se trouve pas

<div class="zoom"> 
<a href="javascript:zoomImage();" class="btn-zoom">view larger image</a> 
</div> 

à ceci:

<div class="zoom"> 
<a href="/zoomimg.jpg" onclick="zoomImage()" class="btn-zoom">view larger image</a> 
</div> 

Je reçois une erreur que la fonction ZoomImage() n'a pas pu être trouvé.

Voici un exemple de page: http://www.avaline.com/102

La fonction est définie à la fin de la page, mais je ne pas cliquer sur le lien jusqu'après la page chargée.

Répondre

1

Vous devez associer des gestionnaires d'événements aux événements dans le code. L'utilisation de javascript en ligne (javascript dans les balises HTML) n'est généralement pas recommandée.

Jetez un oeil à cet article, en particulier "The Really Way Unobtrusive":

http://www.onlinetools.org/articles/unobtrusivejavascript/chapter4.html

+0

je suis passé à cela et il a semblé fonctionner dans les navigateurs modernes: document.getElementById ('zoom') .onclick = function() { \t zoomImage(); return false; } – Lauren

+0

Pourquoi ma méthode précédente avec javascript en ligne n'aurait-elle pas fonctionné? Cela fonctionne lorsque l'attribut onclick est dans une balise d'image, qui est à l'intérieur d'une balise d'ancrage. – Lauren

+0

Je dois vérifier, mais je pense qu'il pourrait jeter une erreur si vous êtes "zoomImage()" fonction est définie après zoomImage() est référencé sur la page. Je veux dire "avant" et "après" en termes de numéros de ligne réels. – programatique

Questions connexes