Heim  >  Artikel  >  Web-Frontend  >  Einführung in die Verwendung von Javascript:; und Javascript:void(0)

Einführung in die Verwendung von Javascript:; und Javascript:void(0)

高洛峰
高洛峰Original
2017-01-24 14:06:341094Durchsuche

Ich habe kürzlich mehrere Beiträge über das 3499910bf9dac5ae3c52d5ede7383485-Tag und Javascript: void(0) gelesen, also behalten Sie dies bitte als Referenz im Hinterkopf.
Hinweis: Der folgende Code wurde nicht vollständig getestet, aber die möglichen Situationen jeder Methode werden grundsätzlich erläutert.
Wenn Sie beim Erstellen einer Seite nach dem Klicken auf einen Link nichts tun oder als Reaktion auf den Klick andere Dinge erledigen möchten, können Sie das Attribut href = „#“ festlegen. Allerdings wird es ein Problem geben , wenn die Seite angezeigt wird Beim Scrollen wird durch Klicken zum Seitenanfang zurückgekehrt, was eine schlechte Benutzererfahrung darstellt.

Derzeit gibt es mehrere Lösungen:

1) Nichts tun, nachdem Sie auf den Link geklickt haben

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

2) Auf benutzerdefinierte Klicks reagieren, nachdem Sie auf das Link-Ereignis geklickt haben

<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>

Beschreibung:

1.javascript: void(0) Bei dieser Art von Pseudoprotokoll ist es besser, weniger zu schreiben, wenn Sie es gesehen haben Einige Gründe dafür finden Sie im Buch über Webstandards. (Ich verstehe das nicht, ich zitiere die ursprünglichen Wörter, also werde ich sie vorerst aufzeichnen)
2. Die direkte Verwendung von Javascript für den Link (href): void(0) kann zu Problemen führen IE, z. B. das Anhalten der GIF-Animation usw. Der sicherste Weg ist also die Verwendung von „####“. Um zu verhindern, dass nach dem Klicken auf den Link zum Anfang der Seite gesprungen wird, kann das onclick-Ereignis „false“ zurückgeben.
3. Wenn Sie die Maus einfach darüber bewegen und in eine Handform verwandeln möchten, können Sie

44203dc318092372fcf0a610c30cbe4a Click Me!d6d448110e0324953b5d7bc1e2b276ce

void ist der Operator von JavaScript, was bedeutet: führt nur den Ausdruck aus, gibt aber keinen Wert zurück. Das Verwendungsformat des
void-Operators ist wie folgt:

javascript:void (expression) 
javascript:void expression

Für einen guten Programmstil wird empfohlen, den zweiten Typ mit Klammern zu verwenden
Wir können den Void-Operator verwenden, um einen Hyperlink anzugeben, z. B. Javascript: void( document.form.submit()). Der Ausdruck wird ausgewertet, aber nichts in das aktuelle Dokument geladen. void(0) ergibt 0, hat aber keine Auswirkung auf JavaScript, d. h. 017bc15b1ef06bd746a2eaf6c0587f98.
Der Schlüssel ist zu wissen, dass void der Operator von javascipt selbst ist. Das bedeutet, dass nur der Ausdruck ausgeführt wird, es aber keinen Rückgabewert gibt!
Außerdem wird die Seite automatisch wieder nach oben verschoben, da die standardmäßige Zielpunktposition „#“ oben ist, was dazu führt, dass dies geschieht.

Fahren Sie mit der Erklärung fort

Ich denke, Code wie dieser ist bei denen üblich, die Ajax verwendet haben:
e1af307e57e3b79619531e7465c399bfhere< ;/a>
Aber was bedeutet void(0) hier?

void ist ein Operator in Javascript, der angibt, dass ein Ausdruck ausgewertet werden soll, aber keinen Wert zurückgibt.

Das Verwendungsformat des void-Operators lautet wie folgt:

1. javascript:void (expression)
2. javascript:void expression

expression ist ein Javascript-Standard berechneter Ausdruck. Die Klammern außerhalb des Ausdrucks sind optional, es empfiehlt sich jedoch, sie zu schreiben. (Implementierungsversion Navigator 3.0)

Sie können den Void-Operator verwenden, um einen Hyperlink anzugeben. Der Ausdruck wird ausgewertet, es wird jedoch nichts in das aktuelle Dokument geladen.

Der folgende Code erstellt einen Hyperlink, der dazu führt, dass dem Benutzer später nichts passiert. Wenn der Benutzer eine Verknüpfung herstellt, wird void(0) als 0 ausgewertet, hat aber keine Auswirkung auf das Javascript.

92089eb7775f8b2da9a0f317f5f010abHier passiert nichts63505a6f727f70c8bd4066f3066dcb9d

Der folgende Code erstellt einen Hyperlink zum Benutzer. Das Formular wird gesendet, wenn Die Bestellung wird aufgegeben.

40cf5f64c15043244209fb8b7cc02494Formular hier senden63505a6f727f70c8bd4066f3066dcb9d

a href=#with a href =javascript: void(0) Mehrere Möglichkeiten zur Unterscheidung von Links

# Enthält Standortinformationen

Der Standardanker ist #top, also der obere Rand der Webseite

javascript:void (0) stellt nur einen toten Link dar

Aus diesem Grund ist die Seite manchmal sehr lang und der Browsing-Link ist eindeutig #

und springt zum Anfang der Seite

und javascript :void(0) ist nicht der Fall

daher ist es beim Aufrufen eines Skripts am besten, void(0)

oder 7ce8961e120a815eeb46b3f04acc755f

< zu verwenden ;div onclick> usw.

Mehrere Möglichkeiten zum Verknüpfen
1.window.open(''url'')

2. Benutzerdefinierte Funktionen verwenden

<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=""


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
782a113e893d25c09a786963e31be749 点击链接后,页面不动,只打开链接
831a0753b4eca98bb6098fb73e118a45 作用同上,不同浏览器会有差异。

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

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

"#"包含了一个位置信息
默认的锚点是#top 也就是网页的上端
而javascript:void(0) 仅仅表示一个死链接
这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首
而javascript:void(0) 则不是如此
所以调用脚本的时候最好用void(0)
或者7ce8961e120a815eeb46b3f04acc755f
414cf55ed2331ac9b67428e512c358bc等
打开新窗口链接的几种办法
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>

window.location.href=""

如果是个# ,就会出现跳到顶部的情况,个人收藏的几种解决方法:
1:63e1bc3e75af5f42a8a329bb9f64d9ed5db79b134e9f6b82c0b36e0489ee08ed
2:c53ddf0ca6a79e50983ed5bdeb382bf85db79b134e9f6b82c0b36e0489ee08ed
3:00f568e9b55293dc1fee80c604864dab5db79b134e9f6b82c0b36e0489ee08ed
4:21024df398055a131bfe982ffd5594455db79b134e9f6b82c0b36e0489ee08ed
5:9172d694fd10dba3ca22fef2b5a671bc54bdf357c58b8a65c66d7c19c8e4d114(好像在FF中不能显示)

慎用JavaScript:void(0)
今天调试CGI的时候,明明CGI程序已经执行,并且最后结果也是正确的,但是页面就是不刷新。在FireFox2.0下测试,结果却是正常的,IE6却偏偏不刷新!仔细调查了一下,发现cgi页面链接的是 6d9248abe2d94383a49b81be86827bf9 only a sample 5db79b134e9f6b82c0b36e0489ee08ed,问题就出在这个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 上没有任何效果。
c53ddf0ca6a79e50983ed5bdeb382bf8单击此处什么也不会发生5db79b134e9f6b82c0b36e0489ee08ed
也就是说,要执行某些处理,但是不整体刷新页面的情况下,可以使用void(0),但是在需要对页面进行refresh的情况下,那就要仔细了。
其实我们可以这样用cb4acbb60fc4a19a6d654c00b5267761,这句话会进行一次submit操作。那什么情况下用void(0)比较多呢,无刷新,当然是Ajax了,看一下Ajax的web页面的话,一般都会看到有很多的void(0),:) ,所以在使用void(0)之前,最好先想一想,这个页面是否需要整体刷新。
 

Bei der Verwendung von Javascript verwenden wir normalerweise einen Pseudolink ähnlich dem:
b36bf3b0b4634dd7fb77bc4ab5515eccSubmit5db79b134e9f6b82c0b36e0489ee08ed
Um die Javascript-Methode aufzurufen. Ein Problem bei dieser Methode ist:
Obwohl die Seite nicht springt, wenn Sie auf den Link klicken, scrollt die Bildlaufleiste nach oben. Die Lösung besteht darin,
wie unten gezeigt zurückzugeben:
cb653b053e3b042c7b371ab725cf3697Submit5db79b134e9f6b82c0b36e0489ee08ed

Sie können auch ###

a href="javascript:void(0 )" onclick="javascript:method;return false;"Submit
javascript:void(0) springt nicht nach oben:)

Eine andere Methode ist #this
a href="#this" onclick="javascript:method"

Weitere Artikel zu Javascript:; und javascript:void(0) finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn