如何将事件作为参数传递给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 undefinedfunction 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>
也有人提出过类似的问题。
但是在我的代码中, 。
那么event
作为参数传递给事件处理程序的正确方法是什么,或者如何在处理程序内部获取事件而不传递参数呢?
编辑
我知道addEventListener
和jQuery
,请提供将事件传递给inline
事件处理程序的解决方案。
回答:
传递event
对象:
<p id="p" onclick="doSomething(event)">
获取被点击的孩子element
(应与event
参数一起使用:
function doSomething(e) { e = e || window.event;
var target = e.target || e.srcElement;
console.log(target);
}
传递element
自身(DOMElement):
<p id="p" onclick="doThing(this)">
以上是 如何将事件作为参数传递给JavaScript中的内联事件处理程序? 的全部内容, 来源链接: utcz.com/qa/405489.html