2013-02-06 47 views
0

第一次在這裏,我已經有一個問題。 我需要創建打字限制器。所以達到0時,用戶不能再鍵入..JQuery打字限制器

$('#text_area').keyup(function() { 
    var max_length = 55; 
    var area_length = $(this).val().length; 
    var remaining_text = max_length - area_length; 

    $('#area_feedback').html(remaining_text + ' characters left'); 
    if (remaining_text <= 0) { 
     $(this).css('color','red'); 
     //what goes here ? 

    } else { 
     $(this).css('color','black'); 
    } 
}); 
+2

歡迎SO。那麼你的代碼有什麼問題? – j08691

回答

1

嘗試使用keypress事件處理程序。

像這樣:Live Demo

$('#text_area').keypress(function(e){ 
    var max_length = 55; 
    var area_length = $(this).val().length; 
    var remaining_text = max_length - area_length; 
    $('#area_feedback').html(remaining_text + ' characters left'); 

    if(remaining_text <= 0){ 
     $(this).css('color','red'); 

     e.preventDefault(); 
     return false; 
    } 
    else{ 
     $(this).css('color','black'); 
    } 
}); 
0

你應該試試這個:使用KeyPress事件和類似下面設置文本區域的最大長度..

$('#text_area').keypress(function(){ 
    var max_length = 55; 

    $('#text_area').attr('maxlength',max_length); //sets the max length of textbox to 55 

    var area_length = $(this).val().length; 
    var remaining_text = max_length - area_length; 
    $('#area_feedback').html(remaining_text + ' characters left'); 
    if(remaining_text <= 0){ 
     $(this).css('color','red');   
    } 
    else{ 
     $(this).css('color','black'); 
    } 
});