2011-05-27 70 views
2

我想擁有一個最大長度的textarea,並向用戶顯示剩餘多少個字符(因爲它是在twitter上完成的),但我似乎無法讓它成爲好。jQuery - 爲textarea設置最大長度

的要求是:

  • 必須表明他們已經鍵入的字符的當前數量
  • 當一個鍵被按下時必須保持準確
  • 必須在退格/刪除用於
  • 保持準確
  • 當使用右鍵菜單選擇和剪切/刪除文本時,必須保持準確
  • 必須允許用戶超過極限(當字段實際阻止時我討厭它這讓我很難編輯它)

有沒有一個jQuery插件來做到這一點?或者是有一個簡單的JavaScript方法(onChange方法不會更新,因爲他們正在鍵入,並且keydown/keyup會有鼠標更改的麻煩)

目前看來最好的方法是有一個函數可以做我想做的事(檢查長度並更新消息),用keydown/keyup/change調用它,並且每秒輪詢它幾次。有沒有更好的辦法?

回答

1

你平時做的就是附加多個事件處理程序指向一個驗證功能,但你不能阻止右擊本/粘貼...

$(document).ready(function() { 
    $("#myTextArea").live("change keydown keyup keypress", function() { 
     validate(); 
    }); 
}); 

function validate() { 
    // validates #myTextArea 
} 
+1

而'input'事件,和'propertychange' – SLaks 2011-05-27 01:14:32

+0

我相信你不需要'$(document).ready(function(){'如果你正在使用** live ** – 2011-05-27 01:18:59