Пользовательский скрипт jQuery IE8 maxlength onpaste-script для текстовых областей сбрасывает значение

У меня есть следующий сценарий jQuery, который реализует поведение maxLength для текстовых областей.

Вот мой код:

код удален вместо этого см. скрипку: http://jsfiddle.net/G7mA7/2/< /а>

Я не ищу другой скрипт, потому что этот обычно работает нормально, но только иногда :-)

Теперь реальная weed вещь насчет этого. Попробуйте мой код в IE8 и удерживайте ctrl + v, чтобы вставить что-то в текстовое поле. Как вы можете быстро увидеть, после достижения максимального предела весь текст текстовой области удаляется! Если делать пошагово, то все работает.

Сначала я думал, что следующее событие вставки начинается до завершения другого, но, насколько я вижу, это не так.

Итак, чуваки... почему это происходит, когда я остаюсь на пасте, но не происходит, когда я делаю это шаг за шагом?

обновление Я разветвил скрипку от @thedixon, чтобы вы могли увидеть эффект.

http://jsfiddle.net/G7mA7/

Просто откройте его в IE8. Сохраните строку типа «0123456789» в буфер обмена, щелкните текстовое поле и удерживайте нажатыми ctrl + v, чтобы вставить.. как вы можете видеть, текст исчезает после достижения лимита.

обновить извините, пришлось обновить код, потому что простой код не работал даже в простейшем случае. Теперь немного сложнее, но без остальных элементов "пошаговая" оклейка не получится... а теперь смотрите сами.


person Allanon    schedule 05.03.2012    source источник
comment
Почему бы вместо этого не использовать методы jQuery для чтения и записи значений в текстовом поле? Вы все равно используете jQuery...   -  person Bas Slagter    schedule 05.03.2012
comment
ты пишешь.. попробую. Но как вы думаете, это может решить мою проблему?   -  person Allanon    schedule 05.03.2012
comment
@Baszz, потому что вам не нужен jQuery, чтобы делать все, и, кстати, jQuery использует эти вызовы, чтобы делать что-то   -  person Nicola Peluchetti    schedule 05.03.2012
comment
@NicolaPeluchetti: Я знаю ... но одна из причин, по которой jQuery здесь, заключается в том, чтобы решить множество кросс-браузерных проблем. Это может быть один из них.   -  person Bas Slagter    schedule 05.03.2012
comment
Поэтому я протестировал его с чтением и записью jQuery, но эффект тот же.   -  person Allanon    schedule 05.03.2012
comment
пришлось обновить мой код, потому что даже шаг за шагом не работал. теперь это именно тот код, который я использую в своем приложении.   -  person Allanon    schedule 05.03.2012


Ответы (1)


http://jsfiddle.net/9FECn/2/ — вот пример, у меня работает!

person Chris Dixon    schedule 05.03.2012
comment
Там такое же поведение. Я разветвил вашу скрипку, чтобы вам было лучше видно: jsfiddle.net/G7mA7 Вы также можете увидеть обновление выше - person Allanon; 05.03.2012