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 پاسخ 421 بازدید
0 امتیاز
1 پاسخ 513 بازدید
0 امتیاز
1 پاسخ 484 بازدید
0 امتیاز
1 پاسخ 1.5هزار بازدید
0 امتیاز
1 پاسخ 833 بازدید
0 امتیاز
1 پاسخ 352 بازدید
...