2017-08-02 7 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

関連する問題