jquery 1.4.1 change () на textarea не работает в IE 8 - PullRequest
2 голосов
/ 03 апреля 2011

Итак, мой код jquery (1.4.1) выглядит примерно так:

$(document).ready(function () {  
    $("#Pattern").focus();  
    $("textarea").change(function () { Match(); });  
    ...  
    var Match = function () {
             ...
          };  
  })

Шаблон - это текстовое поле. И все прекрасно работает везде - кроме IE 8. А поведение IE 8 странное - иногда оно не работает впервые и, кажется, работает позже. Не работая, я имею в виду, когда я набираю что-то в textarea и теряю фокус - функция Match не вызывается Я оглянулся, но все, что я пытался, было напрасно.

РЕДАКТИРОВАТЬ: решение

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

    var previousPattern = '';
    $(document).ready(function () {
        $("#Pattern").focus();
        $("#Pattern").focusout(
                function () {
                   if ($("#Pattern").val() != previousPattern) {
                      previousPattern = $("#Pattern").val();
                      Match();
                   }
                });
       ...
    }

И теперь все работает как положено.

1 Ответ

0 голосов
/ 03 апреля 2011

Twitter, похоже, использует «ввод» и «изменение» - это не стандарт . Попробуйте связать элемент с помощью .bind () и проверьте, , действительно ли он связан .

...