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 پاسخ 438 بازدید
0 امتیاز
1 پاسخ 535 بازدید
0 امتیاز
1 پاسخ 497 بازدید
0 امتیاز
1 پاسخ 1.6هزار بازدید
0 امتیاز
1 پاسخ 859 بازدید
0 امتیاز
1 پاسخ 376 بازدید
...