我知道如果使用js指定鼠标监听器,就可以访问鼠标事件:
myElement.addEventListener("click", e => console.log(e.pageX))
我的问题是:在通过HTML属性分配侦听器时,是否可以访问鼠标事件?
<div onclick="alert('where is the mouse event?')"></div>
我知道如果使用js指定鼠标监听器,就可以访问鼠标事件:
myElement.addEventListener("click", e => console.log(e.pageX))
<div onclick="alert('where is the mouse event?')"></div>
onclick事件将被视为函数内部的一部分,该函数将具有一个事件参数,因此您可以像这样执行:
<div onclick="console.log(arguments[0].pageX)">text</div>
但是你真的真的不应该这样做。总是使用JavaScript附加侦听器,而不是使用HTML-inline-eval。这样代码会更容易编写,更易于阅读,更安全,更易于维护。
您可以通过将event
传递给函数来检查:
function checkEvent(e, msg){
console.log(e.type, 'event has been fired.');
console.log(e.pageX);
}
<div onclick="checkEvent(event, 'where is the mouse event?')" >Click My Div</div>