上MDN下面的語句似乎並非如此:這和DOM在事件處理程序
當調用的事件處理程序,處理程序 內此關鍵字設置在其上的處理程序是的DOM元素註冊。 (source)
這個聲明是關於an on<...> event handler
不addEventListener
。
<p><a id="link" href="#" onclick="EventHandler();">click me</a></p>
<script>
function EventHandler() {
console.log(this);
//the this keyword inside the handler is NOT set to the DOM element
//it sets to the window object
}
</script>
它與MDN上的聲明矛盾。
當然,您可以將this
作爲參數傳遞給EventHandler
,或者乾脆使用addEventListener
。但那是不正確的主題。
問題的主題是this
和an on<...> event handler
。
我的問題是:我的理解是不正確的還是MDN上的聲明不正確?
我看不出有任何問題。我在那篇文章中看到*「TBD(非捕捉者)」*這不像是任何事情的最後一句話。該網站由社區維護,我相信有建議修改的選項。什麼是您的問題,實際上stackoverflow社區? –
閱讀https://developer.mozilla.org/en-US/docs/MDN/Feedback *「首先,如果您發現文檔有問題,您應該隨時自行更正它」* –
我的問題是:我的理解是不正確的還是MDN上的聲明不正確? –