¿Cómo pasar un evento como argumento a un controlador de eventos en línea en JavaScript?
// this e works
document.getElementById("p").oncontextmenu = function(e) {
e = e || window.event;
var target = e.target || e.srcElement;
console.log(target);
};
// this e is undefined
function doSomething(e) {
e = e || window.event;
var target = e.target || e.srcElement;
console.log(target);
}
<p id="p" onclick="doSomething(e)">
<a href="#">foo</a>
<span>bar</span>
</p>
Hay algunas preguntas similares que se han hecho.
Pero en mi código,Estoy tratando de obtener elementos secundarios a los que se ha hecho clic, comoa
ospan
.
Entonces, ¿cuál es la forma correcta de pasarevent
como un argumento para el controlador de eventos, o cómo obtener eventos dentro del controlador sin pasar un argumento?
Soy consciente deaddEventListener
yjQuery
, por favor proporcione una solución para pasar el evento ainline
manejador de eventos.