2016-04-07 13 views
0

Ich habe versucht, zwei EventListeners für dasselbe Ereignis zu erstellen.Hinzufügen eines Ereignis-Listeners

Bis ich merkte, kann man nicht wirklich das tun - Zum Beispiel:

thumbnailPageButton.addEventListener("click", onThumbnailPageButton, false); 
thumbnailPageButton.addEventListener("click", alertSomething); 

Also habe ich den Code platziert ich unter dem „onThumbnailPageButton“ wollte und entfernt die „alertSomething“ -Teil.

/* Event handler for click events dispatched by ThumbnailPageButton to update the visibility of UI elements. */ 
function onThumbnailPageButton(event){ 
    updateUI(); 
    alert("Yes you clicked it!"); 
} 

Allerdings scheint dies alles zu brechen. und die Miniatursymbole werden jetzt nicht angezeigt.

+3

_ "können Sie das wirklich tun" _ – Rayon

Antwort

1

Sie können mehrere Listener des gleichen Ereignistyps auf dem gleichen Objekt - ich vermute, das ist, was Sie versucht haben, zu tun. Siehe unten.

Ihr Code hat ein paar seltsame Dinge. Sie haben es als JQuery markiert, aber nicht JQuery (das wie $ ('# thumbnailPageButton') aussehen würde. Click (function() {etc})). Außerdem rufen Sie Ihre Funktion alertSomething nicht auf (noch haben Sie die in Ihrem Code aufgeführte Funktion). Versuchen Sie folgendes:

var thumbnailPageButton = document.getElementById('thumbnailPageButton'); 
thumbnailPageButton.addEventListener("click", onThumbnailPageButton, false); 
thumbnailPageButton.addEventListener("click", alertSomething); 


function onThumbnailPageButton(){ 
    alert('hey'); 
} 

function alertSomething(){ 
    alert('here'); 
} 

Fiddle hier: https://jsfiddle.net/anwh0epe/

Verwandte Themen