如何在单击时再次将焦点状态应用于同一元素
How to apply focused state to same element again when clicked?
对于我的表单输入,我想重新做我的焦点状态的动画输入:
<input type="text" class="form-control">
你可以在这里看到它的作用:https://jsfiddle.net/esg1dzy0/
说了这么多,我不能让它这样做:
$(document.activeElement).click(function(){
this.focus();
});
这可能吗?我做错了什么?
你需要先模糊元素。
在你这样做之前,你需要确保这不是第一次点击元素。
同样,您的原始选择器将只选择在您的代码段运行时处于活动状态的元素。
最后,使用鼠标向下键来避免闪烁。
$('.form-control').mousedown(function(){
if(!$(this).is(':focus')) return;
$(this).blur().focus();
});
希望这对你有帮助:
$('.form-control').on('click', function(){
var $this = $(this);
var duration = 300;
var enableAgain = function(){
$this.blur().focus();
};
setTimeout(enableAgain, duration);
});
在300 milliseconds
之后再次触发blur()
和focus()
事件(在最好的情况下),这与transition-duration
相同,您可能需要更大的值,如350
。
顺便说一句,我已经编辑了你的https://jsfiddle.net/esg1dzy0/文件。
相关文章:
- keyup事件处理程序更改焦点不适用于快速键入
- 单击时将焦点更改为元素
- 事件和状态
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 获取选择框的状态
- 相位器状态未捕获参考错误
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何使用密码检测网络中的状态连接
- Ember.js-接口状态应该存储在哪里
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- 在Angular 2中布线期间保持零部件处于活动状态
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- 在IE9中的输入字段中输入焦点最近按钮
- 焦点输入时保持文本处于选中状态
- 按钮处于活动状态,焦点无法在Mac FireFox上工作
- 如何在内容可编辑元素中的文本失去焦点时保持该元素处于选中状态
- 将焦点设置在带有错误消息的第一个输入元素上,并将包含它的 TabStrip 选项卡设置为活动状态
- 当AppBar处于活动状态时显示软键盘,使用焦点使内容跳回到顶部
- JQuery . .改变焦点悬停状态&限制键盘导航选项卡区域
- 如何在单击时再次将焦点状态应用于同一元素