MooTools - Eventos programados disparados que não funcionam com delegação de eventos
Realmente apreciaria se alguém pudesse me ajudar a descobrir por que não consigo disparar eventos programaticamente ao usar a delegação de eventos no MooTools (da classe Element.Delegation).
Existe um pai<div>
que tem umchange
ouvinte em alguma criança<input>
elementos. Quando o evento de alteração é acionado por ações do usuário, o manipulador na div pai é acionado, mas quando eu o aciono programaticamente comfireEvent
em qualquer entrada filho, nada acontece. A configuração básica é:
<div id="listener">
<input type="text" id="color" class="color" />
</div>
js$("listener").addEvent("change:relay(.color)", function() {
alert("changed!!");
});
$("color").fireEvent("change"); // nothing happens
O manipulador de eventos na div pai não é chamado. Qualquer ajuda é apreciada. Felicidades!
Pergunta relacionada: Os eventos acionados comfireEvent
bolha na árvore DOM? Meu hack atual é despachar o evento nativamente que está funcionando (mas um hack, no entanto) -http://jsfiddle.net/SZZ3Z/1/
var event = document.createEvent("HTMLEvents")
event.initEvent("change", true);
document.getElementById("color").dispatchEvent(event); // instead of fireEvent