Насколько я знал, размытие происходит на входах , которые имели фокус, в любом случае, как вы говорите
Я ожидаю, что событие размытия сработает, когда я нажму в любом месте, кроме div ... верно?
Не совсем, событие размытия происходит только для элемента, у которого фокус был первым
Итак, чтобы произошло событие размытия, вам сначала нужно сфокусироваться на div, как div получает фокус в первую очередь?
Если вы действительно пытаетесь определить, был ли клик за пределами вашего div, вам нужно прикрепить обработчик кликов к документу, а затем проверить, откуда пришел ваш клик.
var div_id = "#my_div";
var outsideDivClick = function (event) {
var target = event.target || event.srcElement;
var box = jQuery(div_id);
do {
if (box[0] == target) {
// Click occured inside the box, do nothing.
return;
}
target = target.parentNode;
} while (target);
}
jQuery(document).click(outsideDivClick);
Просто помните, что этот обработчик будет запускаться при КАЖДОМ клике на странице. (в прошлом, если я использовал что-то подобное, я прикреплял обработчик, когда мне это нужно, и удалял его, когда мне больше не нужно его искать)