Maison > interface Web > js tutoriel > le corps du texte

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

WBOY
Libérer: 2016-05-16 15:32:25
original
1644 Les gens l'ont consulté

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:

2:

3:

4:

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;
 }
}
Copier après la connexion

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;
 }
}
Copier après la connexion

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


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="" 
Copier après la connexion
-------------------------------------------------------------- --- --------------------------------

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

1: 2 : 3 : 4 : 5 : (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.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!