2009-08-11 69 views
1

如何以標準方式檢測焦點何時離開元素或其任何子元素。檢測焦點何時離開元素的標準方法

模糊不會執行,因爲焦點進入子元素時會被觸發。 (這就像模糊,但泡沫),但我怎樣才能以標準的方式做到這一點,除了將模糊處理程序附加到所有的子元素?

編輯:顯然我不清楚我的意思。

我有這樣的結構:

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

我要附加一個事件處理程序家長找出當焦點離開任何其子元素(child1和的child2)去之外的元素父母,例如一個id爲「outside」的人。在IE中,我可以通過綁定到focusout事件來完成此操作,但是該事件在Firefox(或W3C DOM)中不存在。

+1

你能解釋一下你的意思嗎?「子元素」。像輸入這樣的AFAIK表單元素不能有子元素。 – DisgruntledGoat 2009-08-12 00:13:44

+0

我認爲他指的是'div'元素的孩子。 div元素是事件將要附加到的元素。 – Trevor 2015-08-20 16:33:10

回答

1

我最終創建了jQuery focus插件來解決這個問題,以防萬一有人遇到同樣的問題。

+0

鏈接似乎已損壞。 – Trevor 2015-08-20 16:36:27

3

我會繼續,並建議使用Javascript OnBlur event,但請隨時澄清,如果這不是你要找的。根據你的意思是「還是它的任何子元素」,答案可能會有所不同。