2016-04-07 3 views
0

Я пытался сделать два EventListeners для одного и того же события.Добавление слушателей событий

Пока я не понял, что вы не можете сделать это - Например:

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

Так что я поместил код, который я хотел под «onThumbnailPageButton» и устранил «alertSomething» часть.

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

Однако это, кажется, все. и значки миниатюр теперь не будут отображаться.

+3

_ "вы можете действительно сделать это" _ – Rayon

ответ

1

может делать несколько прослушивателей одного и того же типа событий на одном объекте - я полагаю, это то, что вы пытались сделать. Смотри ниже.

В вашем коде несколько странных вещей. Вы отметили его как JQuery, но не использовали JQuery (который будет выглядеть как $ ('# thumbnailPageButton'). Click (function() {etc})). Кроме того, вы не вызываете свою функцию alertSomething (и у вас нет функции, указанной в вашем коде). Попробуйте это:

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


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

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

Fiddle здесь: https://jsfiddle.net/anwh0epe/

Смежные вопросы