es evento una variable global que es accesible en todas partes dentro de la cadena de devolución de llamada?
Solo estaba jugando con oyentes de eventos con DOM y javascript y noté esto:
function chained(msg) {
console.log(msg, event);
}
function onClick() {
chained('the body was clicked');
}
document.body.addEventListener('click', onClick);
Ahora lo curioso ... esto dará como resultado:
"se hizo clic en el cuerpo, (MouseEvent)"
Entonces pregunto, ¿por qué? ¿Cómo pasa el objeto de evento sin enviarlo a lachained
¿llamada
function chained(msg) {
console.log(msg, namedEventObj); //throw error namedEventObj is not defined
}
function onClick(namedEventObj) {
console.log(event); //outputs (MouseEvent);
console.log(nameEventObj); //outputs (MouseEvent);
chained('the body was clicked');
}
document.body.addEventListener('click', onClick);
Incluso si declaro que el evento obj se pasará aonClick
funcionan comonamedEventObj
estará disponible solo paraonClick
pero no achained
unción @ ... Tengo esto y esto tiene sentido para mí ... pero definitivamente no es elevent
variable para estar disponible para lachained
función.
¿Alguien sabe por qué se comporta así?
Lo único en lo que puedo pensar es que ese evento es de hechowindow.event
y se pone a disposición cuando se envían algunos eventos y Evento ... pero eso significaría que cualquier elemento podría obtener esa información de evento si se llama al mismo tiempo que el evento cuando se dispara?
Estoy usando Chrome 11.0.x