Maison >interface Web >tutoriel HTML >Comment utiliser l'attribut href et l'événement onclick pour une balise
Cette fois, je vais vous montrer comment utiliser l'attribut href et l'événement onclick pour la balise a Quelles sont les précautions pour utiliser l'attribut href et l'événement onclick. pour la balise a. Ce qui suit est un cas pratique, jetons un coup d'œil. La balise
a est principalement utilisée pour implémenter des sauts de page, qui peuvent être réalisés via l'attribut href ou dans l'événement onclick.
<a onclick="window.location.href='www.php.cn'" href="javascript:void(0);">PHP中文网</a>
Ce code convient aux navigateurs grand public, mais il y aura un problème car il ne pourra pas sauter sous IE6. Quelle en est la raison ?
javascript:void(0);
void(arg); peut être compris comme une fonction qui renvoie toujours null, mais ses paramètres ne peuvent pas être vides. Ses paramètres peuvent être n'importe quelle expression ou même fonction.
<a href="javascript:void(name = 'PHP中文网'); alert(name);">测试</a>
IE6 exécute d'abord les événements liés au DOM lui-même, comme onclick ; si le bouillonnement n'est pas empêché, les attributs href seront exécutés séquentiellement. Et void(0); n'a pas besoin d'exécuter d'événements, donc IE6 dit au navigateur de n'exécuter aucun événement (en écrasant les actions précédentes), et mettre fin au bouillonnement équivaut à renvoyer false afin que le navigateur n'exécute aucune action ; Alors arrêtez simplement l'événement bouillonnant dans l'événement onclick.
<a onclick="window.location.href='http://www.php.cn';return false;" href="javascript:void(0);">PHP中文网</a>
De cette façon, il peut fonctionner normalement sous IE6.
Une autre façon est de ne pas utiliser javascript:void(0); mais d'utiliser # à la place. Cela peut également être évité. Le # dans l'attribut href signifie à l'origine le point d'ancrage #name. , donc quand si aucune ancre n'est spécifiée, elle ira en haut de la page. # a une signification spécifique, et la valeur par défaut est #top S'il y a du contenu après #, il sera considéré comme une balise et la balise correspondante y sera renvoyée si elle est trouvée sur la page. Si vous ne souhaitez pas sauter, vous pouvez utiliser ###, ### est une spécification d'étiquette dénuée de sens.
Je pense que vous maîtrisez les méthodes après avoir lu ces cas. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !
Lecture connexe :
Amélioration progressive et dégradation gracieuse en CSS3 Comment utiliser
le calcul de CSS3 lors de la compilation avec less Comment pour le résoudre s'il est calculé
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!