$('body').on('blur')在IE8中工作不好

$('body').on('blur') not working well in IE8

本文关键字:工作 IE8 on body blur      更新时间:2024-02-09

我需要在$('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就可以正常工作

在那之后,它只在我回到文档

后才被触发
$('.selected_option').bind('focusout', function(){
  alert('focusout');
});

它对我有效,检查一次

您可以在文档主体上添加属性,如下所示:

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

或者,您可以使用jQuery将此属性添加到主体中,如下所示:

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

试试这个:

blur事件不会在浏览器之间一致工作,请使用focusout,也不推荐使用bind,因此请在上使用而不是

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