天天看點

如何處理 Event is Not Defined 錯誤消息

Javascript ReferenceError 在引用目前範圍内不存在或尚未初始化的變量時發生。

ReferenceError: event is not defined 通常在使用事件處理程式時發生,如果事件參數未聲明或聲明不正确的時候,就會看到這個錯誤消息。 例如在 onclick 事件中,處理程式未聲明事件參數,則會引發此錯誤。

當嘗試引用不存在或超出範圍的變量時,将引發 Javascript ReferenceError。 在引用變量或參數之前未定義它是最常見的引用錯誤觸發器之一。

在 Javascript 中使用事件處理程式時,處理程式需要為事件對象聲明一個參數。 這個參數通常被命名為 e 或 event。 如果此參數未在處理程式中聲明,或者聲明不正确,并且稍後在處理程式中使用,則會引發 ReferenceError: event is not defined。

Javascript Window 對象有一個名為 event 的屬性,該屬性僅受某些浏覽器支援。 如果未在事件處理程式中顯式聲明事件參數,則可能會使用此屬性。 是以,此錯誤僅發生在不支援 Window.event 屬性的浏覽器中。

看個具體的例子:

<button id="mybutton" onclick="myFunction(event)">

function myFunction() {
    console.log(event);
}      

在上面的示例中,事件參數未在 onclick 事件處理程式 myFunction() 中聲明。 如果此代碼在不支援 Window.event 屬性的浏覽器中運作,則會引發 ReferenceError: event is not defined。

Javascript ReferenceError: event is not defined 僅發生在不支援 Window.event 屬性的浏覽器中。 此屬性已棄用,應在代碼中避免使用。

最好使用傳遞給事件處理函數的 Event 對象。 這可以通過在事件處理函數中聲明事件參數來實作。

function myFunction(event) {
    console.log(event);
}      

繼續閱讀