Как я могу выполнить функцию JQuery после периода времени, когда событие запускается в JQuery? - PullRequest
8 голосов
/ 09 апреля 2011

Я хочу запустить событие по нажатию на текстовое поле спустя 300 миллисекунд

$("#blah").keyup(function () {
               //code is here
            }).delay(300).myfunction();

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

так что кто-нибудь может объяснить, как я могу выполнить функцию через 300 миллисекунд после keyup в текстовом поле

Ответы [ 3 ]

14 голосов
/ 09 апреля 2011
function myFunction () {
    // Code to do stuff after 300ms
}

$("#blah").keyup(function () {
               // Code to do stuff immediately
               setTimeout(myFunction, 300);
            });
7 голосов
/ 09 апреля 2011

моя функция должна быть определена!

$("#blah").keyup(function () {

setTimeout(function(){
            myfunction();
         },300);
})
0 голосов
/ 12 мая 2018

Как говорят документы , начиная с версии 1.4, вы можете использовать функцию delay()

$( "#foo" ).slideUp( 300 ).delay( 800 ).fadeIn( 400 );
...