6
votes

JavaScript OnClick Cross-navigateur cross-navigateur?

Puis-je utiliser ce qui suit sur tous les navigateurs? XXX

est cette "mauvaise pratique" en ce qui concerne les normes?

fonctionnera-t-il sur IE, FF, Safari et chrome?


0 commentaires

6 Réponses :


0
votes

Il devrait fonctionner dans les navigateurs que vous avez mentionnés.

Essayez d'entrer dans l'habitude de mettre un ; à la fin de chaque "ligne" JavaScript: xxx

Bien que cela va courir bien sans elle, si vous faites une bonne habitude, vous pouvez vous épargner des problèmes plus tard lorsque vous écrivez des scripts plus importants.

Si vous ne voulez pas que vous ne voulez pas que vous ne voulez pas que vous ne voulez pas le < code> # à afficher dans la barre d'emplacement: xxx


1 commentaires

Je connais JS, je suis juste un peu rouillé. Merci pour le pointeur cependant.



0
votes

de cette page wikipedia onclick est répertorié dans le commun / W3C Événements Section et est pris en charge par les navigateurs que vous mentionnez.

En de plus écarté si ce n'était pas alors, la plupart des applications Web ne fonctionnaient pas sur ces navigateurs.


0 commentaires

2
votes

OnClick est un navigateur croisé. La discussion sur les normes et les meilleures pratiques est bien sûr beaucoup plus grande. La plupart diraient que «une amélioration progressive» est préférée. L'explication simple est que le lien ferait toujours la bonne chose, la version JavaScript n'améliorerait que le comportement. Si cela est important pour vous ou non, cela dépend vraiment de ce que vous faites, quel est le projet, etc.


0 commentaires

0
votes

Il fonctionnera sur tous les navigateurs, mais comme une meilleure pratique la plupart de l'attache avec des gestionnaires de clic tels que JQuery's $ ('A'). Cliquez sur (Dosomething); qui rend le JavaScript plus indépendant du HTML . De plus, de cette façon, plusieurs manuels peuvent être attachés et avec les gestionnaires de méthodes live de JQuery peuvent être ajoutés aux éléments HTML ajoutés de manière dynamique à la page.


0 commentaires

6
votes

Malgré certaines personnes pourraient dire, ce n'est pas une mauvaise pratique (avec la mise en garde que c'est le seul auditeur d'événement que vous souhaitez sur cet élément), et c'est le navigateur croiseur le plus simple (et le plus répandu) pour ajouter un auditeur d'événements, Mais il y a deux changements que je vais faire à cela.

Tout d'abord, si JavaScript n'est pas activé, le lien sera inutile (bien que le # code> href rendra le navigateur faire défiler le navigateur au sommet de la page, qui n'est probablement pas souhaitée). De même, avec JavaScript activé, un clic sur le lien provoquera toujours le navigateur de suivre le HREF et faites défiler vers le haut. P>

au lieu de cela, j'utiliserais quelque chose comme ceci: P>

<a href="[url to JS-less way of doing the same thing]" onclick="doSomething(); return false">Click here</a>


1 commentaires

Oui, c'est totalement la voie à suivre. Pour ajouter sur la question du navigateur croisé, OnClick était disponible sur les éléments '' avec hrefs (mais pas ceux qui ne sont que des noms uniquement) à partir de l'heure NS2 était le premier navigateur avec JavaScript.



9
votes

Puis-je utiliser les éléments suivants sur tous les navigateurs?

oui

est cette "mauvaise pratique" en matière de normes?

"mauvaise pratique" et "conformité aux normes" sont des choses différentes. Il est conforme aux normes, mais aussi, pour trois raisons, une mauvaise pratique.

  1. Ce n'est pas discret . Les gestionnaires d'événements sont mieux appliqués avec JS.
  2. Il relie le haut de la page ( # ) et enverra toujours le navigateur là-bas, même si le JS fonctionne.
  3. Si le JS échoue, alors rien d'utile ne se produira. Vous devriez Construire sur des choses qui fonctionnent .

    fonctionnera-t-il sur IE, FF, Safari et Chrome?

    oui


4 commentaires

Le fait que l'utilisation d'un attribut de gestionnaire d'événements n'est pas "discrète" n'a rien à voir avec les normes. En fait, des attributs de gestionnaire d'événements tels que onclick sont normalisés dans la spécification HTML 4.


"mauvaise pratique" et "normes" sont des choses différentes. Je vais clarifier la réponse.


@Czupe - Le Cliquez sur () Méthode n'a absolument rien à voir avec la question ou cette réponse (qui concernent attribuer des personnes d'événement , pas déclenchement leur programme).


Vous êtes parfait vrai monsieur. J'ai accidentellement mal interprété cette question et ces réponses en raison d'une mauvaise période de recherche. Merci!