当字符数达到某个值时,我试图阻止用户在文本区域中输入更多输入。
我的代码在 Chrome、Safarai 和 Firefox 中运行良好。
但是preventDefault方法在任何版本的IE中都不适合我。
我在 SO 上找到了许多类似的主题,其中包括最常见的建议:
- 执行检查以确保 preventDefault 存在。如果它不存在,请使用 IE returnValue=false。问题是returnValue=false也不起作用。
有什么建议么?
// Attach textarea char counter to all textarea's with class of 'textarea-char-count'
$('.textarea-char-count').live("keyup", function(event) {
MYAPP.COMMON.textareaCounter(this, event);
});
// Attach textarea char counter to element
MYAPP.COMMON.textareaCounter = function(element, evt) {
//Get char limit
var limit = $(element).attr("maxlength");
// get current character count
var current = $(element).val().length;
// if current character count is greater than or equal to the character limit
if(current >= limit) {
// prevent further characters from being entered apart from the
// Delete and Backspace keys
if(evt.which != 0 && evt.which != 8)
{
if (evt.preventDefault) {
evt.preventDefault();
}
else {
evt.returnValue = false;
}
}
}
// add the remaining character count to our span
$(element).parent().next().show().text( current + " / " + limit);
}