2017-08-02 3 views
2

Je n'ai vu personne d'autre poser cette question, et je suis curieux de savoir si un gestionnaire d'événements attribut sera supprimé via JavaScript removeEventListener.Est-ce que removeEventListener supprimera les attributs HTML?

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

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

Est-ce que ce code empêcher l'auditeur d'être invoqué, même si elle est « en dur » en ligne sur l'élément HTML?

+1

Je ne pense pas que cela fonctionnera. "La méthode removeEventListener() supprime un gestionnaire d'événements qui a été attaché avec la méthode addEventListener()." https://www.w3schools.com/jsref/met_element_removeeventlistener.asp – victor

+0

@victor ne hésitez pas à poster la réponse avec un exemple, cela me semble juste – neaumusic

Répondre

2

Non, l'événement ira toujours.

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

Alors, quelles sont les façons d'empêcher l'événement? – basement

+1

document.getElementById ('bouton'). Onclick = function() {} – csander