$ ('body'). on ('blur') не очень хорошо работает в IE8

0

Мне нужно вызвать функцию на $('body').on('blur')

Приведенный ниже код работает отлично во всех браузерах, кроме IE8

 $(document).ready(function () {

            $(window).focus();
            $(window).on("focus", function () {

                  //  alert("w");
             });
            $(window).on("blur", function () {
               alert("window blur");

            });

            $('body').on("blur", function () {
                alert("body blur");
            });


            jQuery('body').bind("focus", function (event) {
                    alert("body focus");
            });

            jQuery('body').bind("blur", function (event) {
                alert("body blur bind");
            });

        });

Теперь проблема, с которой я столкнулся в IE, - это

body.blur работает нормально, пока я нажимаю внутри документа

после этого его запуск запускается только после того, как я вернусь к документу

  • 0
    Пожалуйста, обновите ваш браузер и попробуйте снова. Потому что IE8 не поддерживает более позднюю версию jquery и html5 тоже?
  • 0
    Поддержка события размытия для разных элементов зависит от браузера. Вот обзор поддержки событий размытия .
Показать ещё 3 комментария
Теги:

3 ответа

2
Лучший ответ
$('.selected_option').bind('focusout', function(){
  alert('focusout');
});

Это работает для меня, проверьте его один раз

  • 0
    Спасибо, это сработало для меня :) Я проголосовал!
1

Попробуй это:

размытость событие не будет последовательно работать во всех браузерах, используйте focusout вместо, а также связывать не рекомендуется, так что используйте на вместо

$('.selected_option').on('focusout', function(){
 //TODO your code
});
1

Вы можете добавить атрибут в тело документа следующим образом:

<body onblur="alert('blur')">

ИЛИ вы можете добавить этот атрибут в тело с помощью jQuery следующим образом:

jQuery("body").attr("onblur","alert('blur')");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню