使用jQuery的1.6.1,因为我有以下HTML:jQuery事件;防止 “兄弟姐妹”,从触发事件eachothers
<div class="control">
<label>My Control</label>
<input type="text" />
<input type="text" />
</div>
当<div class="control">
的<input>
(以下仅control
)聚焦时,<label>
( 与position: relative;
)动画:
$('.control :input').bind('focus', function(e){
$(this).prevAll('label').animate({
'left': '-50px'
}, 250);
});
当模糊,所述<label>
返回:
.bind('blur', function(e){
$(this).prevAll('label').animate({
'left': '0px'
}, 250);
});
然而,如果<input>
元件获得焦点,然后之一模糊作为焦点相同control
内切换到另一<input>
(经由标签或鼠标点击)的事件当然还是火,而<label>
来回动画。
如何强制模糊事件触发只有当焦点丢失从所有在给定的control
输入?
谢谢@Cybernate - 几乎就像一个魅力。也许这是我的错,因为我没有提到会有多个“控制”。从“控制”切换到“控制”时,由于第二秒调用了“clearTimeout()”,模糊无法在第一次触发。 – Dan
@Tomcat:但模糊首先触发,然后关注第二。 – Chandu
@TomcatExodus:它工作得很好。检查此jsfiddle:http://jsfiddle.net/Tn9sV/ – Chandu