Heim  >  Artikel  >  Web-Frontend  >  Einführung in allgemeine Ereignisse wie Binden, Schweben, Umschalten und andere Beispiele in jquery_jquery

Einführung in allgemeine Ereignisse wie Binden, Schweben, Umschalten und andere Beispiele in jquery_jquery

WBOY
WBOYOriginal
2016-05-16 16:41:241460Durchsuche

1.$(document).ready()

$(document).ready() ist eine typische Methode in jQuery, um auf das integrierte Onload-Ereignis von JavaScript zu reagieren und Aufgaben auszuführen. Es hat einen ähnlichen Effekt wie Onload. Aber es gibt einige Unterschiede:

Wenn ein Dokument vollständig in den Browser heruntergeladen wurde, wird das window.onload-Ereignis ausgelöst. Der mit $(document).ready() registrierte Ereignishandler führt den Code aus, nachdem der HTML-Code heruntergeladen und in einen Dom-Baum analysiert wurde. Dies bedeutet jedoch nicht, dass alle zugehörigen Dateien heruntergeladen wurden.

Es gibt im Allgemeinen nur einen Onload-Ereignishandler auf einer Seite und es kann jeweils nur ein Verweis auf eine Funktion gespeichert werden, während $(document).ready() mehrere haben kann.

Im Allgemeinen ist $(document).ready() besser als die Verwendung des Onload-Ereignishandlers. Wenn die zugehörige Datei jedoch nicht geladen wurde, kommt es zu Problemen beim Aufrufen von Attributen wie Bildhöhe und -breite, sodass Sie zu unterschiedlichen Zeiten die entsprechende Methode auswählen müssen.

$(document).ready() hat drei Schreibweisen, nämlich:

$(document).ready(function(){ 

//thisis the coding... 

});


$().ready(function(){ 

//thisis the coding... 

});


$(function(){ 

//thisis the coding... 

});

2. Ereignisbindung

Grammatik

$(selector).bind(event,data,function)

Parameter und Beschreibung:

Ereignis: erforderlich. Gibt ein oder mehrere Ereignisse an, die dem Element hinzugefügt werden sollen. Mehrere durch Leerzeichen getrennte Ereignisse. Muss ein gültiges Ereignis sein.

Daten optional. Gibt zusätzliche Daten an, die an die Funktion übergeben werden sollen.

Funktion erforderlich. Gibt eine Funktion an, die ausgeführt werden soll, wenn ein Ereignis auftritt.

Das entsprechende ist unbind(): Event entfernen

Beispiel: $(‘#idchoose’).unbind(“click”,Function_Name)

Abkürzung verbindliches Ereignis: Im Allgemeinen Abkürzung bevorzugen

$("#dividelement").bind("click",function(){//do something})改写为:

$("#dividelement").click(function(){//do something }

jQuery bindet Ereignisse mithilfe der Methode .bind() an Elemente und löst die Bindung von Elementen mithilfe der Methode .unbind(). Darüber hinaus kann die Methode .bind() mehrere Bindungen durchführen. Wenn keine Bindung vorhanden ist, ist das Aufheben der Bindung sicher.

Oft muss ein Ereignis nur einmal ausgelöst werden und muss dann sofort aufgehoben werden. Gemäß dem traditionellen Ansatz binden wir das Ereignis möglicherweise zuerst und lösen es dann, nachdem das Ereignis ausgeführt wurde. jQuery stellt uns eine Abkürzungsmethode zur Verfügung, um das mühsame Schreiben von Code im obigen Szenario gezielt zu lösen. Das Beispiel lautet wie folgt:

$(document).ready(function(){

$('#swotcjer').one('click',toggleStyleSwitcher);

});

Übrigens besteht der Vorteil der Verwendung von Bind zum Binden von Ereignissen darin, dass Sie benutzerdefinierte Ereignisse definieren und mehrere Ereignisse gleichzeitig binden können.

3. Synthetische Ereignisse

Bei der Erfassung von Ereignissen ist es häufig erforderlich, kombinierte Benutzervorgänge zu erfassen und mit mehreren Funktionen zu reagieren. Diese Ereignisse werden als zusammengesetzte Ereignisse bezeichnet.

Die von jQuery bereitgestellte Methode .ready() ist eine der am häufigsten verwendeten Ereignismethoden. Darüber hinaus werden zwei Funktionen für die interaktive Verarbeitung verwendet:

.hover(enter,leave) Eine Methode, die Hover-Ereignisse simuliert (die Maus bewegt sich über ein Objekt und aus diesem heraus). Dies ist eine benutzerdefinierte Methode, die für häufig verwendete Aufgaben einen „Keep-in-it“-Status bereitstellt.

$(function(){

$("#panelh5.head").hover(function(){

$(this).next().show();

},function(){

$(this).next().hide(); 

})

})

.toggle(fn1,fn2,..fnN) Schaltet die Funktion um, die jedes Mal aufgerufen werden soll, wenn darauf geklickt wird. Wird verwendet, um kontinuierliche Mausklickereignisse zu simulieren. Beispiel:

$(function(){

$("#panelh5.head").toggle(function(){

$(this).addClass("highlight");

$(this).next().show();

},function(){

$(this).removeClass("highlight");

$(this).next().hide();

});

})

4. Ereignisobjekte und Ereignissprudeln

Ereignisobjekt: Die Verwendung von Ereignisobjekten in Programmen ist sehr einfach. Sie müssen der Funktion lediglich einen Parameter hinzufügen, z. B.:

$(“element”).click(function(event){

//event:事件对象

})

Wenn auf das Element „Element“ geklickt wird, wird das Ereignisobjekt erstellt. Auf dieses Objekt kann nur von Event-Handlern zugegriffen werden. Wenn die Ereignisbehandlungsfunktion die Ausführung abschließt, wird das Ereignisobjekt zerstört.

Ereigniserfassung: Eine Strategie, die es mehreren Elementen ermöglicht, auf Ereignisse zu reagieren. Während des Ereigniserfassungsprozesses wird das Ereignis zunächst an das äußerste Element und dann an spezifischere Elemente übergeben. (body->div->span)

Ereignis-Bubbling: Eine andere entgegengesetzte Strategie wird als Zeit-Bubbling bezeichnet. Wenn ein Ereignis auftritt, wird es zuerst an das spezifischste Element gesendet. Nachdem dieses Element die Möglichkeit hat, zu reagieren, wird das Ereignis an allgemeinere Elemente weitergeleitet. Das Bubbling von Ereignissen kann manchmal Nebenwirkungen haben und zu unerwartetem Verhalten führen. (span->div->body)

Drei Möglichkeiten, um zu verhindern, dass Ereignisse sprudeln

Ereignisse können beendet werden, bevor die Standardaktion initiiert wird, indem die Methode .preventDefault() aufgerufen wird.

Rufen Sie event.stopPropagation() auf, um die Ereignisweitergabe zu stoppen

jQuery bietet eine .stopPropagation()-Methode, die das Sprudeln von Ereignissen vollständig verhindern kann.

5. Verwenden Sie das Attribut event.tatget, um das Ereignisobjekt zu verdeutlichen

Das Ereignis im Ereignishandler speichert das Ereignisobjekt. Das Attribut event.tatget speichert das Zielelement, in dem das Ereignis aufgetreten ist. Dieses Attribut ist in DOMAPI angegeben, wird jedoch nicht von allen Browsern implementiert. jQuery nimmt die notwendigen Erweiterungen an diesem Ereignisobjekt vor, damit diese Eigenschaft in jedem Browser verwendet werden kann. Mithilfe von .target können Sie das Element im DOM ermitteln, das das Ereignis zuerst empfangen hat. Darüber hinaus wissen wir, dass sich dies auf das DOM-Element bezieht, das das Ereignis verarbeitet.

Verwenden Sie das Attribut event.tatget, um das Ereignisobjekt zu löschen und zu verhindern, dass das Ereignis sprudelt. Der Code lautet wie folgt:

$(document).ready(function(){ 

$('switcher').click(function(event){

if(event.target== this) 

{

$('switcher.button').toggleClass('hidden'); 

}

};)

});

Weitere Ereignisobjektattribute finden Sie in der Einführung zu w3c.

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