2013-04-10 7 views
13

Werden Event-Handler in JavaScript synchron oder asynchron ausgeführt? Hier ist JS bin, die zeigt, dass der Event-Handler synchron ausgeführt wird.Asynchroner oder synchroner Aufruf von Event-Handlern in Javascript

Code:

$('#toclick').bind('custom', function() { 
    for (var i=0; i<100000; i++) {} 
    console.log('Inside click handler'); 
}); 

$('#toclick').trigger('custom'); 
console.log('Outside click handler'); 

Output: 
Inside click handler 
Outside click handler 

Das bedeutet, wenn wir ein Ereignis auslösen, wird der Code unten, damit er nicht ausgeführt werden, wenn alle Event-Handler ausgeführt werden. Habe ich recht ?

Bin with multiple event handlers

+2

Alle Ereignisse sind synchron. Vielleicht möchten Sie auch einen Blick in die Ereignisverbreitung werfen http://www.quirksmode.org/js/events_order.html – Ejaz

Antwort

13

Das ist richtig. Alle Ereignishandler werden synchron und in der Reihenfolge der Bindung ausgelöst.

+0

Danke freakish! Bin gerade verwirrt. Danke für die Klarstellung. – sachinjain024

8

Einige Event-Handler werden synchron und andere asynchron ausgeführt. Siehe DOM-Level-3-Events

+2

Danke für die nützlichen Informationen. Nebenbei bemerkt, Link-Antworten werden abgeraten. Bitte versuchen Sie weitere Informationen in die Antwort einzutragen. Trotzdem danke!! – sachinjain024

Verwandte Themen