Maison > interface Web > js tutoriel > Introduction à l'utilisation de javascript:; et javascript:void(0)

Introduction à l'utilisation de javascript:; et javascript:void(0)

高洛峰
Libérer: 2017-01-24 14:06:34
original
1179 Les gens l'ont consulté

J'ai récemment lu plusieurs articles sur la balise et javascript: void(0), alors gardez cela à l'esprit pour référence.
Remarque : le code suivant n'a pas été entièrement testé, mais les situations possibles de chaque méthode sont essentiellement expliquées.
Lors de la création d'une page, si vous ne voulez rien faire après avoir cliqué sur un lien, ou effectuer d'autres choses en réponse au clic, vous pouvez définir son attribut href = "#". Cependant, il y aura un problème, c'est-à-dire. , lorsque la page affiche Lors du défilement, cliquer reviendra en haut de la page, ce qui constitue une mauvaise expérience utilisateur.

Il existe actuellement plusieurs solutions :

1) Ne rien faire après avoir cliqué sur le lien

<a href="javascript:void(0);" >test</a>
<a href="javascript:;" >test</a>
<a href="####" >test</a> //使用2个到4个#,见的大多是"####",也有使用"#all"等其他的
Copier après la connexion

2) Répondre aux clics définis par l'utilisateur après avoir cliqué sur le lien Événement

<a href="javascript:void(0)" onclick="doSomething()">test</a>
<a href="#" onclick="doSomething();return false;">什么问题都解决了,包括浏览器不兼容问题</a> //或者直接使用href=""
<a href="#" onclick="alert();event.returnValue=false;">test</a>
Copier après la connexion

Description :

1.javascript : void(0) Ce genre de pseudo-protocole, il vaut mieux en écrire moins, si vous l'avez vu certains Vous saurez pourquoi grâce au livre sur les normes du Web. (Je ne comprends pas, j'extrait les mots originaux, donc je vais les enregistrer pour le moment)
2. Utiliser directement javascript pour le lien (href) : void(0) peut causer des problèmes dans IE, comme provoquer l'arrêt de la lecture de l'animation GIF, etc., donc 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.
3. Si vous souhaitez simplement déplacer la souris et la transformer en forme de main, vous pouvez utiliser

Click Me!

void est l'opérateur JavaScript, ce qui signifie : exécute uniquement l'expression, mais ne renvoie pas de valeur. Le format d'utilisation de l'opérateur
void est le suivant :

javascript:void (expression) 
javascript:void expression
Copier après la connexion

Pour un bon style de programme, il est recommandé d'utiliser le deuxième type avec des parenthèses
Nous pouvons utiliser l'opérateur void pour spécifier un lien hypertexte, tel que javascript : void( document.form.submit()). L'expression est évaluée mais rien n'est chargé dans le document actuel. void(0) est évalué à 0 mais n'a aucun effet sur JavaScript, c'est-à-dire que
.
La clé est de savoir que void est l'opérateur de javascipt lui-même. Cela signifie que seule l'expression est exécutée, mais il n'y a pas de valeur de retour !
De plus, la page reviendra automatiquement en haut car la position du point de visée par défaut "#" est en haut, donc cela se produit.

Continuez à expliquer

Je pense qu'un code comme celui-ci est courant parmi ceux qui ont utilisé ajax :
ici< ;/a>
Mais que signifie void(0) ici ?

void est un opérateur en Javascript, qui précise 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:void expression

l'expression est un standard Javascript à utiliser. expression calculée. Les parenthèses en dehors de l’expression sont facultatives, mais constituent une bonne pratique à écrire. (Version d'implémentation Navigator 3.0)

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

Le code ci-dessous crée un lien hypertexte qui ne fera rien arriver à l'utilisateur plus tard. Lorsque l'utilisateur crée un lien, void(0) est évalué à 0, mais n'a aucun effet sur le Javascript.

Rien ne se passera ici

Le code suivant crée un hyperlien vers l'utilisateur Le formulaire sera soumis lorsque la commande est passée.

Envoyer le formulaire ici

a href=#avec un href =javascript : void(0) Plusieurs façons de distinguer les liens

#Contient une information de localisation

L'ancre par défaut est #top, qui est le haut de la page Web

Et javascript : void(0) ne représente qu'un lien mort

C'est pourquoi parfois la page est très longue et le lien de navigation est évidemment # est

saute en haut de la page

et javascript :void(0) n'est pas le cas

, donc lors de l'appel d'un script, il est préférable d'utiliser void(0)

ou

, etc.

Plusieurs façons de lier
1.window.open(''url'')

Utiliser des fonctions personnalisées

<script>
function openWin(tag,obj)
 {
  obj.target="_blank";
  obj.href = "Web/Substation/Substation.aspx?stationno="+tag;
  obj.click();
  }
</script>
   
<a href="javascript:void(0)" onclick="openWin(3,this)">株洲</a>
window.location.href=""
Copier après la connexion


href=”#”,包含了一个位置信息.默认的锚是#top,也就是网页的上端,当连续快速点击此链接时会导致浏览器巨慢甚至崩溃。

当然我们一般用三个 href="###",不过看了这篇文章我们以后就可以使用javascript:;(一个冒号一个分号)

javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。

javascript:;好些,javascript:void(0);据说某些情况下有浏览器兼容bug。(此点bug我也不知道什么时候能出现,知道的童鞋请指教)。

可以写成javascript:;,qq空间很多都是写成javascript:;
我感觉这两者之间没有什么差别,都是执行一个空事件。
javascript:;甚至少了7个字符,呵呵。

新浪微博写的是javascript:void(0);

我以前一直写的是javascript:void(0);但是现在写的都是javascript:;

a href="#"> 点击链接后,页面会向上滚到页首,# 默认锚点为 #TOP
点击链接后,页面不动,只打开链接
作用同上,不同浏览器会有差异。

点击链接后,不想使页面滚到页首,就用href="javascript:void(0)",不要用href="#",return false也有类似作用

详解href="#"与href="javascript:void(0)"的区别

"#"包含了一个位置信息
默认的锚点是#top 也就是网页的上端
而javascript:void(0) 仅仅表示一个死链接
这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首
而javascript:void(0) 则不是如此
所以调用脚本的时候最好用void(0)
或者


打开新窗口链接的几种办法
1.window.open('url')
2.用自定义函数

        <script>
        function openWin(tag,obj)
        {
            obj.target="_blank";
            obj.href = "Web/Substation/Substation.aspx?stationno="+tag;
            obj.click();
        }
        </script>
<a href="javascript:void(0)" onclick="openWin(3,this)">LINK_TEST</a>
Copier après la connexion

window.location.href=""

如果是个# ,就会出现跳到顶部的情况,个人收藏的几种解决方法:
1:

2:
3:
4:
5:(好像在FF中不能显示)

慎用JavaScript:void(0)
今天调试CGI的时候,明明CGI程序已经执行,并且最后结果也是正确的,但是页面就是不刷新。在FireFox2.0下测试,结果却是正常的,IE6却偏偏不刷新!仔细调查了一下,发现cgi页面链接的是 only a sample ,问题就出在这个void(0)上!让我们先来看看JavaScript中void(0)的含义:
JavaScript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。
void 操作符用法格式如下:
1. javascript:void (expression_r_r)
2. javascript:void expression_r_r
expression_r_r是一个要计算的 JavaScript 标准的表达式。表达式外侧的圆括号是可选的,但是写上去是一个好习惯。我们可以使用 void 操作符指定超级链接。表达式会被计算但是不会在当前文档处装入任何内容。面的代码创建了一个超级链接,当用户点击以后不会发生任何事。当用户点击链接时,void(0) 计算为 0,但在 JavaScript 上没有任何效果。
单击此处什么也不会发生
也就是说,要执行某些处理,但是不整体刷新页面的情况下,可以使用void(0),但是在需要对页面进行refresh的情况下,那就要仔细了。
其实我们可以这样用,这句话会进行一次submit操作。那什么情况下用void(0)比较多呢,无刷新,当然是Ajax了,看一下Ajax的web页面的话,一般都会看到有很多的void(0),:) ,所以在使用void(0)之前,最好先想一想,这个页面是否需要整体刷新。
 

Lorsque nous utilisons javascript, nous utilisons généralement un pseudo lien similaire à :
Submit
Pour appeler la méthode javascript. Un problème avec cette méthode est :
Bien que la page ne saute pas lorsque vous cliquez sur le lien, la barre de défilement défilera vers le haut. La solution est de renvoyer
comme indiqué ci-dessous :
Submit

Vous pouvez également utiliser ###

a href="javascript:void(0 )" onclick="javascript:method;return false;"Submit
javascript:void(0) ne sautera pas :)

Une autre méthode est #this
a href="#this" onclick="javascript:method"

Pour plus d'articles sur javascript:; et javascript:void(0), veuillez faire attention au site Web PHP chinois !

É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