2010-08-13 5 views
0

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

Могу ли я использовать jQuery?

ответ

0

Это может быть не самый способ jQuery-esque для этого, но что-то вроде этого.

setInterval((function (textbox) { 
    return function() { 
     textbox.val(textbox.val().toUpperCase()); 
    } 
}($("#myTextBox"))), 1000); 

Конечно меняющегося $("#myTextBox") к соответствующему селектору

0

ЗАКАНЧИВАТЬ ответ на этот вопрос более подробно:

How to delay the .keyup() handler until the user stops typing?

Но вот полный рабочий пример всего этого привязали вместе:

$(document).ready(
    function() 
    { 
     var delay = (function(){ 
      var timer = 0; 
      return function(callback, ms){ 
      clearTimeout (timer); 
      timer = setTimeout(callback, ms); 
      }; 
     })(); 

     $("#testerText").keyup(
      function() 
      { 
       delay(function() 
       { 
        $("#testerText").val($("#testerText").val().toUpperCase()); 
       }, 1000); 
      }); 
    }); 

http://jsfiddle.net/5Nq2f/

Смежные вопросы