2012-07-09 75 views
0

這工作,因爲我想它http://jsfiddle.net/nosfan1019/gvQYh/但如果焦點/點擊更改爲兄弟元素有明顯的延遲。有任何想法嗎?jquery的兩個元素,切換焦點/點擊...作品,但滯後

+0

當我想你的演示的 「滯後」 我所看到的完全是由於多長時間我按下鼠標按鈕,因爲您的focusout處理程序是由鼠標_down_事件觸發的,但是您的焦點/單擊手在家長div似乎只觸發鼠標_up_。 – nnnnnn 2012-07-10 00:30:43

+0

我沒注意到。感謝您指出。應該給我一個更好的起點。 – 2012-07-10 01:38:00

回答

0

試試這個:在它獲得焦點

焦點事件被髮送到一個元素。此事件隱式適用於有限的一組元素,例如表單元素(<input>, <select>, etc.)和鏈接(<a href>)。

$('#ooo').bind('focus click', function() { 
    $('#kkk').text('hello'); 
}); 

$('#ooo').blur(function() { // you can use `blur` handler 
    $('#kkk').empty(); 
}); 

http://jsfiddle.net/gvQYh/1/

+0

好吧,這個想法是,如果用戶的焦點在父div #ppp中的任何地方,那麼將出現「hello」文本...即,而不僅僅是當輸入具有焦點時。 – 2012-07-10 00:04:10

+0

@RyanGrush爲什麼不使用'hover'或'mouseenter'? http://jsfiddle.net/gvQYh/2/ – undefined 2012-07-10 00:05:45

+0

房地產將會小得多,幾行相似的功能。如果我這樣做,它會跳得太多。我想我會不得不忍受的事情? – 2012-07-10 00:11:01

0

有點爭吵之後,我有一個解決方案:)

$('#ooo').focus(function() { 
    $('#kkk').text('hello'); 
    visible = true; 
}); 


$('* :not(#ooo)').focus(function() { 
    if (visible) { 
     $('#kkk').empty(); 
     visible = false; 
    } 
});​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

http://jsfiddle.net/nosfan1019/3nK84/