@Victorius13

Почему функция не работает при нажатии на кнопку?

Почему когда вызываешь функцию так она срабатывает:
setTimeout(loadcomment, 15000, p, kolovo);
А когда ее вызываешь так, то нет:
$("#comment-load").click(function (){ loadcomment(p, kolovo);});

Использование "onclick="loadcomment(p, kolovo)" не помогает тоже.
Cама функция:
function loadcomment(userpade, load){
    kolovo++;
    $.ajax({
        url: '../backend/loadcomm.php',
        type: 'POST',
        dataType: 'html',
        data: {
           name: userpade,
           loadvar: load
        },
        success: function(data){
            var com = JSON.parse(data);
            for(var i = 0; i < com.length; i++){
                var comment = renderdiv('comment-block', com[i].sendname, com[i].text, com[i].date);
        		
        		var comments = document.getElementById("comments");
        		
        		comments.appendChild(comment);
            }
       }
    });
}
  • Вопрос задан
  • 131 просмотр
Пригласить эксперта
Ответы на вопрос 2
dollar
@dollar
Делай добро и бросай его в воду.
$("#comment-load").click(e=>console.log('А клик вообще работает у вас?'));


$("#comment-load").click(function (){
  console.log('Функция должна работать');
  loadcomment(p, kolovo);
  console.log('Вот и сработала');
});
Ответ написан
KickeRocK
@KickeRocK
FrontFinish
Внутренняя функция(ajax-запрос) асинхронна и требует времени на выполнение.
Ответ приходит не сразу, те она отрабатывает(посылает запрос), но не успевает дождаться ответа и выпиливается с памяти
С таймером ей хватает времени, поиграйтесь с async/await
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы