2012-07-09 73 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/