Я думаю, проблема в том, что вы устанавливаете значение $ (this) в свое собственное short_maximum для каждого keyup, что может раздражать IE.
Было бы лучше изменить значение val только в том случае, если его длина уже УЖЕ превышена short_maximum.Лично я бы просто добавил:
if ($(this).val().length > self.short_maximum) {
$(this).val($(this).val().substr(0, self.short_maximum));
}
Кроме того, просто предпочтение, но вы также можете изменить это:
if(chars_left < 0) chars_left = 0;
на это:
chars_left=Math.max(chars_left,0);