Code:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
$("#clicker").click(function () {
alert("Hello!");
$(".hide_div").hide();
});
</script>
Der obige Code funktioniert nicht. Wenn ich auf #clicker klicke, wird es nicht alarmiert und nicht ausgeblendet. Ich habe die Konsole überprüft und erhalte keine Fehler. Ich habe auch überprüft, ob JQuery geladen wurde und tatsächlich. Also nicht sicher, was das Problem ist. Ich habe auch eine Dokumentbereitschaftsfunktion mit einer Warnung ausgeführt und das hat funktioniert, also nicht sicher, was ich falsch mache. Bitte helfen Sie. Vielen Dank!
javascript
jquery
onclick
click
onclicklistener
Starbucks
quelle
quelle
Antworten:
Sie sollen den Javascript-Code in einen
$(document).ready(function() {});
Block einfügen .dh
In der jQuery-Dokumentation heißt es: "Eine Seite kann erst dann sicher bearbeitet werden, wenn das Dokument" bereit "ist. JQuery erkennt diesen Bereitschaftszustand für Sie. Der darin enthaltene Code
$( document ).ready()
wird erst ausgeführt, wenn das Dokumentobjektmodell (DOM) für JavaScript bereit ist auszuführender Code "quelle
.on()
funktioniert das nicht . Sie können es (optional) verwenden, um delegierte Handler zu erstellen, aber so oder so "kratzt" die Seite nicht, sondern bindet einen Listener an die spezifischen Elemente in dem jQuery-Objekt, für das Sie es aufrufen.Ich habe die beste Lösung für dieses Problem gefunden, indem ich ON mit $ (document) verwendet habe.
für id beginnen mit siehe unten:
nach 1 woche muss ich endlich keinen onclick triger hinzufügen. Ich hoffe das wird vielen Menschen helfen
quelle
Ihr Code funktioniert möglicherweise ohne document.ready (). Stellen Sie nur sicher, dass sich Ihr Skript hinter dem #clicker befindet. Testen Sie diese Demo: http://jsbin.com/aPAsaZo/1/
Die Idee im fertigen Konzept. Wenn Sie sicher sind, dass Ihr Skript das Neueste auf Ihrer Seite ist oder hinter dem betroffenen Element liegt, funktioniert es.
Hinweis: In derjsbinDemo ersetzen
http
mithttps
dort im Code, oder verwenden Sie diese Variante Demoquelle
document.ready()
Funktion braucht .Sie müssen Ihren Javascript-Code mit
$(document).ready(function(){});
Look this JSfiddle umschließen .JS-Code:
quelle
Versuchen Sie
$(document).ready(function(){
, am Anfang Ihres Skripts hinzuzufügen , und dann});
. Hat derdiv
die ID auch richtig, dh als ID, nicht als Klasse usw.?quelle
Stellen Sie sicher, dass sich auf Ihrer Schaltfläche nichts befindet (z. B. ein div oder ein durchsichtiges Bild), das das Klicken auf die Schaltfläche verhindert. Es klingt dumm, aber manchmal denken wir, dass jQuery nicht funktioniert und all das Zeug und das Problem liegt in der Positionierung von DOM-Elementen.
quelle
Sie können verwenden,
$(function(){ // code });
was ausgeführt wird, wenn das Dokument bereit ist, den Code in diesem Block auszuführen.quelle
Nur eine kurze Überprüfung: Wenn Sie eine clientseitige Vorlagen-Engine wie einen Lenker verwenden, wird Ihr js nach dem Dokument geladen. Es gibt also kein Element, an das das Ereignis gebunden werden kann. Verwenden Sie daher entweder den onclick-Handler oder den Body und auf aktuelles Ziel prüfen
quelle