function charCount(){
$.doTimeout('poll', 150, function(){
messageVal = $('#messageLabel textarea').val();
messageLength = messageVal.length; //IE BREAKS HERE
$('#messageLength').html(messageLength + '/140')
if(messageLength > 140){
$('#messageLength').not('.inv').addClass('inv')
}else{
$('#messageLength.inv').removeClass('inv')
}
return false;
})
}
$('#messageLabel textarea').change(charCount).keyup(charCount);
在Internet Explorer 7.0(可能还有其他版本)中给出以下错误。
关于什么原因导致此错误的任何想法?
最佳答案
当您不使用var
关键字时,IE浏览器会在全局上下文中搜索messageLength
并找到它...您拥有具有该ID的元素。
尝试为HTML元素分配数字失败。
要解决此问题,只需将messageLength
声明为局部变量:
var messageLength = messageVal.length; //IE WON'T BREAK HERE