Потрібно використовувати названі функції.
Крім того, click
змінна повинна збільшуватися поза обробником для збільшення.
var click_count = 0;
function myClick(event) {
click_count++;
if(click_count == 50) {
// to remove
canvas.removeEventListener('click', myClick);
}
}
// to add
canvas.addEventListener('click', myClick);
РЕДАКТУВАННЯ. Ви можете закрити цю click_counter
змінну:
var myClick = (function( click_count ) {
var handler = function(event) {
click_count++;
if(click_count == 50) {
// to remove
canvas.removeEventListener('click', handler);
}
};
return handler;
})( 0 );
// to add
canvas.addEventListener('click', myClick);
Таким чином ви можете збільшити лічильник на декілька елементів.
Якщо ви цього не хочете і хочете, щоб у кожного був свій лічильник, то зробіть це:
var myClick = function( click_count ) {
var handler = function(event) {
click_count++;
if(click_count == 50) {
// to remove
canvas.removeEventListener('click', handler);
}
};
return handler;
};
// to add
canvas.addEventListener('click', myClick( 0 ));
EDIT: Я забув назвати обробника, який повернувся в останніх двох версіях. Виправлено.
if(click == 50) {
повинні бутиif( click === 50 )
абоif( click >= 50 )
- вони не змінять вихід, але з міркувань розумності ці перевірки мають більше сенсу.