2010-08-29 2 views
5

Je suis nouveau à la conception web et javascript, et je ne comprends pas pourquoi il est courant pour les concepteurs Web d'utiliser le vide (0) syntaxe ci-dessous:Pourquoi utiliser 'href = "javascript: void (0);"' au lieu de quelque chose de plus convivial?

<a onclick="this.blur();return false;" href="javascript:void(0);" class="btn"> 

Depuis cela se montre réellement dans la partie inférieure coin gauche du navigateur, pourquoi ne pas trouver un moyen de le rendre plus convivial? C'est peut-être parce que les concepteurs n'ont pas le temps de faire ce genre d'interface utilisateur.

Que suggéreriez-vous comme une alternative à la syntaxe ci-dessus qui serait plus utile à l'utilisateur final?

Répondre

1

Si c'est simplement l'utilité de l'utilisateur final alors cela pourrait faire?

<a onclick="this.blur();return false;" href="#Click to hide" class="btn"> 

puisque vous êtes de retour faux de toute façon, il pourrait en fait contenir quoi que ce soit

<a onclick="this.blur();return false;" href="Click to hide" class="btn"> 

Cependant, je pense que la raison en est, si vous avez désactivé javascript, il aura en fait aucun effet, comme par opposition à écrire quelque chose d'autre là qui le fera (le premier exemple changera le hash/anchor-part de l'url, le second entraînera probablement une erreur). Quoi qu'il en soit, ils auront toujours l'air drôle (pré-ajouté avec l'URL d'origine).

Puis encore, si cette chose est seulement visible en raison de javascript, je dirais aller de l'avant et supposons que javascript est disponible. Bien que je serais toujours pécher par excès sûr et utiliser le hachage de toute façon ... :)

Modifier:
Je viens de réaliser tous les navigateurs montrent le « # » partie d'un href dans la barre d'état (est-ce que n'importe quel navigateur fait cela?), donc j'utiliserais le javascript:void(0); ou simplement # si vous n'utilisez pas d'ancres pour quelque chose, et placez plutôt l'attribut title à quelque chose de descriptif.

Modifier:
Je pense que j'étais un peu trop vite ... Je pense que le javascript:void est en effet d'éviter d'avoir un quelconque effet. Cependant, une meilleure solution serait de ne pas utiliser les a -tags (je clique généralement l'onclick sur n'importe quoi, en fait j'utilise habituellement jquery, et l'ajoute à certaines classes ou identifiants après).

8

La solution idéale est de build on things that work.

Cet article décrit l'amélioration progressive utilisant la bibliothèque javascript de la bibliothèque d'interface utilisateur de Yahoo pour améliorer l'accessibilité des événements d'interaction simulés par javascript.

cite: Christian Heilmann

+1

D'accord, mais un résumé du contenu externe lié peut être utile. –

Questions connexes