Задержка функции с помощью JQuery без settimeout - PullRequest
1 голос
/ 02 октября 2019

Я новичок в кодировании, и я пытался отложить функцию нажатия кнопки, используя тайм-аут, но кажется, что она не работает.

Чтобы пояснить это далее, эта кнопка должна что-то делать, но когда я добавляю функцию тайм-аута, все, что она делает, это просто задерживает ее, а не обрабатывает до следующей строки. Даже с JavaScript все в порядке. Может кто-нибудь мне помочь. Заранее спасибо. :)

$(document).ready(function () {
	setTimeout(function(){
	$("#mybutton").click(myButtonClicked);
	}, 1000);
	getURLParameter("run") && $("#mybutton").click()
});


function getURLParameter(a) {
	a = (new RegExp("[?|&]" + a + "=([^&;]+?)(&|#|;|$)")).exec(location.search);
	if (null == a) return null;
	a = a[1];
	a = a.replace(/\+/g, "%20");
	return decodeURIComponent(a)
}

function myButtonClicked() {
	disableMyButton();
	var a = $(".new").toArray(),
		c = $(".status").toArray();
	a.reverse();
	c.reverse();
	doNextBox(a, c)
}

Я пытаюсь сделать следующее:

  1. Нажать кнопку
  2. Подождите секунду
  3. Продолжитьк следующему заданию

1 Ответ

5 голосов
/ 02 октября 2019

Вызовите setTimeout в обработчике событий click, передайте функцию и время, после которого эта функция должна быть выполнена ...

Пример:

$('#mybutton').click(function() {
   setTimeout(doAfterTimeout, 1000);
});

function doAfterTimeout() {
  console.log('test');
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...