0 امتیاز
قبل در برنامه نویسی توسط (7.2هزار امتیاز)
برچسب گذاری دوباره قبل توسط

یک قطعه کد دارم که برای پاپ آپ نوشته ام. به این صورت که هنگامی که پاپ آپ و تمامی فرزندانش، از فوکوس خاج شدند(کلیک کردن در جای دیگر صفحه) پاپ آپ بسته شود.

در IE درست کار می کند اما در Firefox , chrome مقدار document.activeElement همیشه معادل body است.

چگونه می توانم این مشکل را برطرف کنم؟ آیا هک جاوا اسکریپتی برای این کار موجود است؟

 

$(function() {
    //hide on blur
    $('.search_popup, .search_popup > *').focusout(
            function() {
                var target = document.activeElement;
                var popup_div = $(this).closest('.search_popup');
                if (target !== null) {
                    if (popup_div.attr('id') === $(target).attr('id')) {
                        return;
                    }
                    if (popup_div.has(target).length === 0) {
                        hideSearchPopUp(popup_div.attr('id'));
                    }
                }
            }
    );

});

سوالات مشابه

0 امتیاز
1 پاسخ 291 بازدید
0 امتیاز
1 پاسخ 345 بازدید
0 امتیاز
1 پاسخ 345 بازدید
0 امتیاز
1 پاسخ 1.3هزار بازدید
0 امتیاز
1 پاسخ 741 بازدید
0 امتیاز
1 پاسخ 189 بازدید
...