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 پاسخ 445 بازدید
0 امتیاز
1 پاسخ 544 بازدید
0 امتیاز
1 پاسخ 502 بازدید
0 امتیاز
1 پاسخ 1.6هزار بازدید
0 امتیاز
1 پاسخ 865 بازدید
0 امتیاز
1 پاسخ 381 بازدید
...