我試圖阻止用戶在字符數達到特定值時向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