Sono nuovo di jQuery e sto cercando di capire il concetto di catturare e gorgogliare.Catturare e gorgogliare usando jQuery
Ho letto molti articoli, ma molti hanno descritto la propagazione di eventi per Javascript.
lascia supporre che abbiamo il seguente codice HTML:
<div id="outter">
outter
<div id="inner">
inner
</div>
</div>
cattura è la fase in cui scendiamo gli elementi DOM e spumeggiante è quando andiamo in su.
in JavaScript è possibile decidere quale strada da seguire (utilizzando parametri vere o false):
element.addEventListener('click',doSomething,true) --> capture phase
element.addEventListener('click',doSomething,false) --> bubble phase
C'è qualcosa di simile per jQuery per indicare in quale direzione da seguire altro che il modo in JavaScript?
jQuery utilizza anche una fase predefinita? Per esempio bolla?
perché ho usato il seguente codice per verificare questo:
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>
Sembra che quando clicco sul div outter, solo quel div si anima in un div più grande. Quando clicco sulla div interna, entrambe le div animano le div più grandi.
Non so se ho torto, ma questo test mostra che il metodo di propagazione del browser predefinito è bubble.
Per favore correggimi se sbaglio.
http://api.jquery.com/event.stoppropagation/ – Satpal
sì, si è giusto per impostazione predefinita bolle di eventi fino al DOM –
dupe di http://stackoverflow.com/questions/7398290/unable-to-understand -usecapture-attribute-in-addeventlistener – adeneo