2010-04-28 19 views
7

in einem Code, den ich durch dort gehe, ist ein Link hat href = javascript :; in code.when es geklickt wird, öffnet es einen Leuchtkasten, um einige msg mit close button.how ist es done.Ich denke, dass dies dojoWas ist href = javascript :;

+4

Haben Sie mit diesen Antworten eine Antwort auf Ihr Problem erhalten? – Russell

Antwort

0

All dies tut, ist ein Aufruf an eine Javascript-Funktion, die einige Javascript ausführt. Vielleicht hilft es, den Code als Beispiel zu veröffentlichen.

+3

@Rob: 'href = Javascript;' ist der Code .... – James

+0

Bit seltsam, normalerweise ist der Code wie David yourlinktext Ist der Link als URL oder Bild angezeigt? Ich weiß, Lightbox verwendet die "Rel" -Attribut auf Bildern, um eine Phantasie Leuchtkasten-Effekt zu zeigen und ein Bild Popup – Rob

+1

wahrscheinlich hat er einen addEventListener irgendwo anders im Code. –

1

href="javascript:somefunction();" ist nur ein Weg, auf eine Funktion von einigen Javascript-Code zu zeigen.

Sie können auch tun: href="#" onclick="somefunction();return false;"

Nichts Dojo wirklich darüber. Alles, was es tut, ist die Funktion oder Javascript-Code aufrufen. Es teilt dem Element nur mit, dass es Javascript verwenden soll.

oder href="javascript:void(0);" onclick="somefunction();" wie bereits erwähnt.

+2

imho 'return false;' fehlt im Beispiel mit 'href =" # "' – binaryLV

+0

Sie können auch tun: 'href =" # "onclick =" sommefunction(); " –

+0

ja, beides wird funktionieren, aber ja , binaryLV ist korrekt, sollte false zurückgeben, da keine URL angegeben ist. Korrigiert dies. Prost :) Obwohl Sie 'javascript: void (0);' 'angeben können, brauchen Sie sich keine Gedanken darüber zu machen, ob Sie false zurückgeben. – SoLoGHoST

0
<a href="javascript:void(0)" onClick="callFunction();"> 

Anruf Callfunction() -Methode onClick

dies auch als foollows verwendet werden können

<a href="javascript:callFunction();"> 


<a href="#" onClick="callFunction();"> 

nennen dies auch Javascript Callfunction (Methode), aber es fügt # in Ihrer URL dieses Gebrauch zu vermeiden

<a href="javascript:void(0)" onClick="callFunction();"> 
+0

es gibt Gründe, warum Leute das onclick Ereignis benutzen ... – Russell

0

Ich glaube, dies zeigt nur, dass Ihre Verbindung einige Javascr durchführen wird IPT-Funktion. Normalerweise koppeln Sie dies, indem Sie Ereignisse auf der Verbindung z.B. OnClick/OnMouseMove

8

Der Code:

<a href="javascript:;">..</a> 

tatsächlich nichts tun. Im Allgemeinen ermöglicht dieser Nothing-Link einigen JavaScript-Code, stattdessen das onclick-Ereignis zu verwenden. Das onclick-Ereignis löst das Fenster aus, das von django oder jquery oder von wo auch immer stammen kann.

1

Es ist bekannt als das Javascript Pseudo-Protokoll. Es wurde entwickelt, um den Inhalt des Dokuments durch einen Wert zu ersetzen, der mit JavaScript berechnet wurde. Am besten ist es nicht, es zu benutzen, aus verschiedenen Gründen, einschließlich:

  • Wenn JavaScript deaktiviert ist, haben Sie einen Link, der nirgendwo
  • Wenn Ihr JavaScript gibt einen Wert, der Inhalt der Seite wird ersetzt vergeht dieser Wert

More reasons why you shouldn't use it

0

Angeblich ist es eine URL zu einer Ressource, die über das „javascript“ Protokoll erreichbar ist, so wie du „http:“ haben oder „ftp:“. Ich weiß nicht, ob es ein aktueller Standard ist, aber die meisten Browser verstehen, dass die URL dem JavaScript-Interpreter zugeführt werden muss. Also, in der Praxis, können Sie es verwenden JavaScript-Code zu haben, die durch eine Verbindung ausgelöst wird, z.B .:

<a href="javascript:alert('Hello!')">Say hello</a> 

Natürlich Schreiben der JavaScript-Code in HTML-Tags ist weder sauber noch mantainable. Aber die Möglichkeit besteht.

Was ist mit href="javascript:;"?Wenn Sie genau aufpassen, werden Sie feststellen, dass ";" ist ein JavaScript-Code-Snippet, das nichts tut. Das ist der Punkt. Dies wird oft verwendet, um einen Link zu haben, der nirgendwohin weist. Der Hauptzweck besteht darin, dass das Klicken darauf JavaScript-Code auslöst, der an anderer Stelle definiert wurde (über onclick-Event-Handler).

Last but not least, Sie sehen oft Sachen wie onclick="javascript:doStuff()". Das HTML-Attribut onclick erwartet Javascript-Code, keine URL. In dieser Situation ist das Präfix javascript: völlig überflüssig. Der Code wird jedoch weiterhin ausgeführt. Es geschieht ein Label in JavaScript-Syntax werden nur durch Zufall ;-)

4

EDITED:

i diesen Link nur hinzugefügt haben, die Sie wie Dojo Arbeit mit onlclik Ereignis explane:

ok, nur um alle die Antwort ist hier gute Antwort, in Ihrem speziellen Fall, wenn Sie Dojo

die <a href="javascript:;" > einfach prevent your <a> tag to jump around when clicked und natürlich verwenden keine Wirkung haben!

wahrscheinlich haben Sie so etwas wie dies in Ihrem Code:

<a href="javascript:;" id="some" class="some_too" rel="some_too_too"> 

Dojo einfach halten die <a>id OR Klasse OR rel-Tags und die Funktion ausführen!