Ich bin neu in jQuery und ich versuche, das Konzept der Erfassung und Sprudeln zu verstehen.Capturing und Sprudeln mit jQuery
Ich habe viele Artikel gelesen, aber die meisten von ihnen beschrieben Ereignisausbreitung für Javascript.
Hier können wir die folgenden HTML-Code übernehmen haben:
<div id="outter">
outter
<div id="inner">
inner
</div>
</div>
Capturing ist die Phase, wo wir die DOM-Elemente gehen und sprudelnden ist, wenn wir nach oben.
In Javascript können Sie entscheiden, welche Art und Weise zu folgen (wahr oder falsch-Parametern):
element.addEventListener('click',doSomething,true) --> capture phase
element.addEventListener('click',doSomething,false) --> bubble phase
Gibt es etwas ähnliches für jQuery zu bezeichnen, welchen Weg andere zu folgen als die JavaScript Art und Weise?
Verwendet jQuery auch eine Standardphase? Zum Beispiel Blase?
Weil ich verwenden, um den folgenden Code, um dies zu testen:
css
<style>
div {
border: 1px solid green;
width: 200px;
}
</style>
jQuery
<script>
$(document).ready(function(){
$('div').click(function(){
$(this).animate({'width':'+=10px'},{duration: 3000})
});
});
</script>
Es scheint, dass, wenn ich auf der äußeren div klicken, werden nur das div animiert zu einem größeren div. Wenn ich auf das innere div klicke, werden beide divs zu größeren divs animiert.
Ich weiß nicht, wenn ich falsch liege, aber dieser Test zeigt, dass die Standard-Browser-Propagationsmethode Blase ist.
Bitte korrigieren Sie mich, wenn ich falsch liege.
http://api.jquery.com/event.stoppropagation/ – Satpal
Ja, Sie sind per default standardmäßig Ereignisblasen bis zum DOM –
dupe von http://StackOverflow.com/Questions/7398290/unable-to-understand -usecapture-Attribut-in-addEventListener – adeneo