Wie erstellt man eine Funktion jQuery one() auf $(document).ready
, ich kenne die Syntax für Click-Ereignisse und Selektoren, aber ich weiß nicht, wie man eine Funktion, die nur auf Dokument bereit und nur ausgeführt werden würde einmal, mit switch statements drin?jQuery eine Funktion
Antwort
Standardmäßig wird die Funktion nur einmal ausgeführt werden, es sei denn, Ereignis-Listener gibt, die es mehr als einmal aufrufen.
Rayons Antwort ist nicht die beste. Setzen Sie die Funktion einmal() in die Funktion $ .ready, so dass der globale Namespace nicht verschmutzt wird. Es stellt auch eine schnellere Auflösung des Funktionsnamens aufgrund der Scope-Ketten von JavaScript sicher.
Setzen Sie es nach draußen, wenn es eine wiederverwendbare Komponente ist, so dass Sie es leicht in einer separaten Datei verschieben und aus verschiedenen Kontexten aufrufen können. Dies würde gelten, wenn Sie eine Bibliothek oder eine große Anwendung entwickeln.
$(document).ready(function() {
once();
\t function once() {
\t alert("See, this happens only once");
};
});
<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
<div>
Test
</div>
function one() {
alert("Once called");
}
$(document).ready(function() {
one();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
erklären Sie Ihre Funktion wie gewohnt und von innen document.ready nennen.
https://learn.jquery.com/using-jquery-core/document-ready/
function one() {
console.log("Do one");
}
$(document).ready(function() {
one();
});
var handler = function() {
alert('Called!');
};
$(document).ready(function() {
handler();
$('#elem').one('click', handler);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div id="elem">Only Once!</div>
Wenn Sie absolut sicher sein, die Funktion nur einmal ausgeführt wird, können Sie einen Flag verwenden, falls es versehentlich wieder genannt:
var flag = false;
function one() {
if (!flag) {
flag = true;
//do stuff
}
}
//.ready()
$(function() {
one();
});
Wenn Die Funktion ist für eine Seite eindeutig. Sie können sie innerhalb des Aufrufs .ready()
deklarieren.
können Sie $.Callbacks()
mit Parameter verwenden "once"
function once() {
alert("once")
}
var callbacks = $.Callbacks("once");
callbacks.add(once);
$().ready(callbacks.fire); // call `once`
$().ready(callbacks.fire); // this will not call `once`
$().ready(function() {
alert("do other stuff")
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
- 1. JQuery: Eine Funktion dynamisch aufrufen
- 2. Eine spezifische Funktion entfernen jQuery
- 3. eine Funktion in jquery beenden
- 4. eine Funktion innerhalb document.ready, jquery
- 5. eine jquery-Funktion in eine normale Funktion umwandeln
- 6. Leiten eines jquery Objekt in eine Funktion
- 7. eine jquery Callback-Funktion innerhalb einer Variablen
- 8. Eine vorhandene JavaScript-Funktion in jQuery binden
- 9. Definiert man so eine Funktion in jQuery?
- 10. mit jquery $ .ajax eine PHP-Funktion aufrufen
- 11. Jquery - mehrere bedingte Anweisungen für eine Funktion
- 12. eine Funktion jQuery erstellen für auf Klick
- 13. Warum wird jQuery in eine Funktion eingebunden?
- 14. Jquery aufrufen .when $, nachdem eine Funktion
- 15. JQuery-Funktion erstellt eine anomale Pause
- 16. Wie man eine jquery Funktion teilt
- 17. eine jQuery Funktion nach .each() aufgerufen hat
- 18. jquery width gibt eine Funktion zurück
- 19. Last eine Jquery-Funktion nach docuemnt.ready()
- 20. Wie kann ich eine JQuery-Funktion aufrufen?
- 21. eine Funktion in Javascript (jquery) zerstören
- 22. jquery - eine Funktion id in einer anderen Funktion
- 23. eine Callback-Funktion innerhalb einer benutzerdefinierten jQuery Funktion
- 24. Funktion als Argument für eine andere Funktion JQuery
- 25. wie aus einer anderen Funktion in Jquery eine Funktion aufzurufen
- 26. jQuery - Variable innerhalb einer Funktion an eine andere Funktion übergeben
- 27. Warum kapsle ich eine jQuery-Funktion in jQuery (function ($) {});
- 28. Wie erstellt man eine jQuery-Funktion (eine neue jQuery-Methode oder ein neues jQuery-Modul)?
- 29. Kann ich mit jQuery eine Funktion erstellen, die beim Klicken auf eine URL verweist und dann eine jQuery-Funktion ausführt?
- 30. Eine Möglichkeit, dies in eine jQuery-Funktion umzuwandeln?
Rufen Sie die Funktion auf dem Dokument bereit. Das wird es einmal ausführen. – Marc
Haben Sie einen Code? '$ (SELECTOR) .on (HANDLER)' funktioniert einwandfrei .... – Rayon
Das 'ready' Ereignis tritt nur einmal pro Seite auf. Wenn Duplikationen auftreten, vergewissere dich, dass das gesamte Skript nur einmal enthalten ist. Außerdem wird [jQuery $ (document) .ready() zweimal ausgelöst] (https://stackoverflow.com/questions/10727002/jquery-document-ready-fires-twice) –