我试图阻止用户在字符数达到特定值时向textarea输入任何更多输入。jQuery preventDefault无法在任何IE版本中工作
我的代码在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);
}
IE的哪个版本和jQuery的哪个版本?这对我的作品在IE 8和9 – 2013-03-08 09:57:21
尝试使用stopPropagation()也更新您的jQuery的lib文件... – SaurabhLP 2013-03-08 09:58:11
@ s.lenders - 我和jQuery1.7.2 – 2013-03-08 10:00:16