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 پاسخ 395 بازدید
0 امتیاز
1 پاسخ 485 بازدید
0 امتیاز
1 پاسخ 464 بازدید
0 امتیاز
1 پاسخ 1.5هزار بازدید
0 امتیاز
1 پاسخ 810 بازدید
0 امتیاز
1 پاسخ 325 بازدید
...