Maison >interface Web >js tutoriel >Que signifie javascript:void(0) et la différence entre les compétences href=# et href=javascriptvoid(0)_javascript

Que signifie javascript:void(0) et la différence entre les compétences href=# et href=javascriptvoid(0)_javascript

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBoriginal
2016-05-16 15:32:251732parcourir

void est un opérateur en Javascript, qui spécifie qu'une expression doit être évaluée mais ne renvoie pas de valeur.

Le format d'utilisation de l'opérateur void est le suivant :

1. javascript:void (expression)

2. javascript:expression vide

expression est une expression standard Javascript à évaluer. Les parenthèses en dehors de l’expression sont facultatives, mais constituent une bonne pratique à écrire.

Vous pouvez spécifier un lien hypertexte à l'aide de l'opérateur void. L'expression sera évaluée mais rien ne sera chargé dans le document actuel.

Exemple - Cliquer sur un lien hypertexte ne saute pas

1:6b0da6d38e340e6a590cff29d8e276f55db79b134e9f6b82c0b36e0489ee08ed

2:0408054196e655f677973fb4d7c998655db79b134e9f6b82c0b36e0489ee08ed

3:6c83c0caad21deef893bd2b64d8d5a5c5db79b134e9f6b82c0b36e0489ee08ed

4:755146b0f224288ff1f9517809ac46ba5db79b134e9f6b82c0b36e0489ee08ed

Après avoir cliqué sur le lien, la page défilera vers le haut de la page. # Le point d'ancrage par défaut est #TOP (les tests réels ont révélé que la barre de défilement défilera vers le haut. Les quatre méthodes ci-dessus ne représentent que). un lien mort. Ils représentent tous un lien mort. Il sautera et ne reviendra pas en haut.

Exemple : Pourquoi location.href ne saute-t-il pas automatiquement ?

<a href="javascript:void(0)" onclick="delete('123')">删除</a>
function delete(id){
 if(confirm("确实要删除[为什么location.href不自动跳转?]吗?")) {
  location.href="/delete.jsp&#63;id=" + id;
 }
}

Peu importe la façon dont vous vérifiez le code ci-dessus, il n'y a pas de problème, et location.href="/delete.jsp?id=" id; fonctionne bien à d'autres endroits. Pourquoi ce code fonctionne-t-il ?

La raison est que void(0) a changé le code en :

<a href="javascript:delete('123')">删除</a>function delete(id) {
 if(confirm("确实要删除[为什么location.href不自动跳转?]吗?")) {
  location.href="/delete.jsp&#63;id=" + id;
 }
}

Nous avons constaté que la page sautait immédiatement et que les données correspondantes pouvaient être supprimées normalement. Pourquoi ?

Parce que void est un opérateur, il calculera une expression, mais ne renverra pas de valeur. Bien sûr, il ne modifiera aucun contenu de la page actuelle et il ne sautera pas normalement.

Description

L'opérateur

void évalue une expression et renvoie undéfini. Cet opérateur est particulièrement utile lorsque vous souhaitez évaluer une expression mais que vous ne souhaitez pas que le résultat soit visible par le reste du script.

L'utilisation directe de javascript:void(0) pour les liens (href) peut provoquer certains problèmes dans IE, tels que l'arrêt de la lecture de l'animation gif, etc. Par conséquent, le moyen le plus sûr est d'utiliser "#". Pour éviter de sauter en haut de la page après avoir cliqué sur le lien, l'événement onclick peut renvoyer false.

PS : La différence entre href=# et href=javascriptvoid(0)

#" contient des informations de localisation
Le point d'ancrage par défaut est #top, qui est le haut de la page Web
Et javascript:void(0) représente simplement un lien mort
C'est pourquoi parfois la page est très longue et le lien de navigation est clairement # mais il saute en haut de la page
Et javascript:void(0)
Ce n'est pas le cas, il est donc préférable d'utiliser void(0)
lors de l'appel du script. Ou 7ce8961e120a815eeb46b3f04acc755f 414cf55ed2331ac9b67428e512c358bc

Plusieurs façons d'ouvrir des liens dans de nouvelles fenêtres

1.window.open('url')


2. Utiliser des fonctions personnalisées


<script>   
function openWin(tag,obj)   
{    
obj.target="_blank";    
obj.href = "Web/Substation/Substation.aspx&#63;stationno="+tag;    
obj.click();   
}   
</script> 
<a href="javascript:void(0)" onclick="openWin(3,this)">LINK_TEST</a> 
window.location.href="" 
-------------------------------------------------------------- --- --------------------------------

S'il s'agit d'un #, il passera au premier plan Plusieurs solutions parmi les favoris personnels :

1:6b0da6d38e340e6a590cff29d8e276f55db79b134e9f6b82c0b36e0489ee08ed 2 :0408054196e655f677973fb4d7c998655db79b134e9f6b82c0b36e0489ee08ed 3 :6c83c0caad21deef893bd2b64d8d5a5c5db79b134e9f6b82c0b36e0489ee08ed 4 :755146b0f224288ff1f9517809ac46ba5db79b134e9f6b82c0b36e0489ee08ed 5 :84c8ecde5320398c03be1686cf845b0554bdf357c58b8a65c66d7c19c8e4d114 (Il semble qu'il ne puisse pas être affiché dans FF)



-------------------------------------------------------------- --- --------------------------------

Le contenu ci-dessus est ce que l'éditeur vous présente ce que javascript:void(0) signifie et la différence entre href=# et href=javascriptvoid(0). J'espère qu'il vous sera utile.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn