2011-07-12 1 views
10

Я использую .bind('input') с jQuery, потому что это, кажется, лучшее решение для обнаружения, если они копируют/вставляют в поле или просто печатают, а затем выберите из раскрывающегося меню браузера. Моя проблема с другими, такими как change(), заключается в том, что, по крайней мере, для меня они срабатывают только тогда, когда пользовательский фокус на поле теряется..bind ('input', function() {}) не работает в IE8

Моя проблема в том, что .bind('input') не работает для меня в IE8, но работает в FF4/5. Я пробовал искать альтернативы этому, но придумал emtpy. Любое предложение?

+3

Вы пробовали '.bind ('keyup paste', function() {/*....*/});'? –

+0

Это работает для вставки событий, но я все еще не получаю триггер, когда они выбирают из предыдущих записей (я точно не знаю, как это называется, но вы знаете, как браузеры предоставляют вам выбор ранее введенных вариантов) – Nicholas

+0

@ Николас Это автозаполнение. http://en.wikipedia.org/wiki/Autocomplete –

ответ

10

Событие input не поддерживается ниже IE9. Вы можете получить дополнительную информацию о мероприятии input здесь: http://help.dottoro.com/ljhxklln.php

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

+0

onpropertychange не вызывает событие. Но это хороший ресурс, спасибо. – Nicholas

0

https://github.com/spicyj/jquery-splendid-textchange - это плагин для исправления причуд эмуляции «ввода» в IE8 и IE9.

Автор описал, как он достиг этого решения в своем блоге (http://benalpert.com/2013/06/18/a-near-perfect-oninput-shim-for-ie-8-and-9.html), который действительно сложный, прочитал, если вы хотите узнать подробности.

Смежные вопросы