2017-08-02 44 views
2

我還沒有看到任何人問這個問題,我很好奇,如果一個屬性事件處理程序將通過JavaScript removeEventListener刪除。請問removeEventListener是否刪除HTML屬性?

<video id='myVideo' src='blah.mp4' onended='window.onMyVideoEnded'></video> 

document.querySelector('#myVideo').removeEventListener('ended', window.onMyVideoEnded); 

這段代碼是否會阻止偵聽器被調用,儘管它在HTML元素上被內聯'硬編碼'?

+1

我不認爲這會工作。 「removeEventListener()方法刪除已使用addEventListener()方法附加的事件處理程序。」 https://www.w3schools.com/jsref/met_element_removeeventlistener.asp – victor

+0

@victor隨時發佈答案的例子,這聽起來對我 – neaumusic

回答

2

不,事件仍會繼續。

window.clickFunction = function() { 
 
    alert('Clicked!') 
 
} 
 

 
window.onload = function() { 
 
    console.log('Loaded!') 
 
    document.getElementById('button').removeEventListener('click', window.clickFunction) 
 
}
<button onclick = 'window.clickFunction()' id = 'button'>Test</button>

+1

那麼有什麼辦法來防止事件? – basement

+1

document.getElementById('button')。onclick = function(){} – csander