2009-08-11 2 views
1

Как я могу стандартным образом определить, когда фокус покидает элемент или любой из его дочерних элементов.Стандартный способ обнаружения, когда фокус покидает элемент

размытие не будет выполняться, так как оно срабатывает, когда фокус переходит в дочерний элемент.

IE обеспечивает невероятно полезную фокуса событий для этого (это как размытие, но пузыри), но как я могу сделать это стандартным способом, за исключением прикрепления обработчика размытия ко всем дочерним элементам?

Редактировать: по-видимому, я не совсем понял, что я имел в виду.

У меня есть структура вроде этого:

<div id="parent"> 
    <input type="text" id="child1"> 
    <div id="child2" tabindex="0">yada</div> 
</div> 
<input type="text" id="outside"/> 

Я хочу, чтобы присоединить обработчик события к родителю, чтобы узнать, когда фокус покидает какой-либо из его дочерних элементов (child1 и child2), чтобы перейти к элементу за пределами родительский, например один с идентификатором «снаружи». В IE я могу сделать это, привязавшись к событию focusout, но это событие не существует в Firefox (или в W3C DOM).

+1

Можете ли вы объяснить, что вы подразумеваете под «дочерними элементами». Элементы формы AFAIK, такие как ввод, не могут иметь дочерние элементы. – DisgruntledGoat

+0

Я думаю, что он имеет в виду детей из элемента 'div'. Элемент 'div' - это тот, к которому будет привязано событие. – Trevor

ответ

1

Я решил создать плагин jQuery focus, чтобы решить эту проблему, если кто-то столкнется с той же проблемой.

+0

Ссылка оказалась повреждена. – Trevor

3

Я предложу Javascript OnBlur event, но, пожалуйста, не стесняйтесь уточнить, не то, что вы искали. В зависимости от того, как вы подразумеваете «или какие-либо из его дочерних элементов», ответ может быть другим.

 Смежные вопросы

  • Нет связанных вопросов^_^