Когда я обновляю страницу, я должен дважды нажать кнопку, чтобы получить подсказку. После этого каждый раз, когда я нажимаю ту же кнопку и вызываю метод classicHover() (без обновления), я получаю одно приглашение плюс (два приглашения, три подсказки, четыре ...).Почему этот метод называется несколько раз?
Это код:
function classicHover(){
$('#button1').click(function(){
gridSize = prompt("Set Grid Size")
$('.container').empty();
for(i = 0; i < gridSize * gridSize; i++) {
$('.container').append("<div>a</div>");
};
});
};
Кнопка:
<input id="button1" type="button" value="Set New Grid" onclick="classicHover()" />
Что я делаю неправильно? Я JS/jQuery новичок btw
не имеют прослушивателя событий jquery click внутри функции, это будет вызвано вводом. Имейте одно или другое не то, и другое. – depperm
, когда вы нажимаете на свою кнопку, вы вызываете 'classicHover'. эта функция добавляет слушателя к кнопке '# button1' при каждом вызове. вы в основном не нуждаетесь в этом '$ ('# button1'). click (function() {' line – njzk2
Вы добавляете обработчик событий каждый раз при нажатии кнопки 'button1'. –