【发布时间】:2011-07-21 21:23:57
【问题描述】:
使用 jQuery 1.6.1,假设我有以下 HTML:
<div class="control">
<label>My Control</label>
<input type="text" />
<input type="text" />
</div>
当<div class="control">(以下仅control)中的<input> 被聚焦时,<label>(与position: relative;)动画: p>
$('.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> (通过 Tab 或鼠标单击)当然,事件仍然会触发,<label> 会来回动画。
如何仅在给定control 内的所有输入失去焦点时才强制触发模糊事件?
【问题讨论】:
标签: javascript-events event-handling jquery