blur() 无法以编程方式工作 |但在从用户启动时会这样做
blur() does not work programmatically | but does when initiated from the user
这适用于用户在单个输入表单上通过 ajax 提交输入后清除输入。
var tweet_input = document.getElementById( 'tweet_input' );
tweet_input.value='';
tweet_input.blur();
但是,在 3 个输入字段或 orm 上,这不会:
var input_url = document.getElementById( 'bookmark_input_url' );
input_url.value='';
var input_title = document.getElementById( 'bookmark_input_title' );
input_title.value='';
var input_tag = document.getElementById( 'bookmark_input_tag' );
input_tag.value='';
input_title.blur();
input_url.blur();
input_tag.blur();
只有最后一个元素实际上是模糊的。 不确定其他两个发生了什么或如何进行故障排除。
基本上,我有在blur((上触发的事件侦听器,它们在实际的用户blur((上工作正常,但是当我尝试以编程方式启动它们时,只有一个有效。
需要先有焦点。
input_title.focus();
input_title.blur();
...
这在我的情况下工作正常:
const fireEvent = (element, eventType="blur") => element && element.dispatchEvent(new Event(eventType));
现在我们可以从任何想要触发附加到任何元素的事件的地方调用此函数。
fireEvent(input_title)
参考
相关文章:
- SignalR客户端启动连接时如何设置用户
- Ember视图未响应用户启动的事件
- 捕获在Windows应用程序中启动其他应用程序的用户事件
- 当用户单击关闭浏览器时(但不是当用户单击刷新按钮时),JavaScript会确认启动
- 重新启动/刷新时在Google Maps API上保存标记,之后's已被用户拖动.下面的
- 匿名用户无法启动多部分上传.请验证
- 如何在没有用户确认的情况下在iPhone的浏览器中启动音频
- 用户扩展中的自定义命令.js启动 Selenium RC 时无法加载
- 在 iOS 中,哪些 JavaScript 事件符合 HTML5 视频/音频的“用户启动”条件
- blur() 无法以编程方式工作 |但在从用户启动时会这样做
- 从用户离开页面时的位置重新启动计时器
- 如何在用户可视化页面点时启动 jQuery 效果
- 使用 javascript 在用户的机器上启动本地文件
- 等待用户点击而不是页面加载来启动功能
- 用户查看页面后启动CSS3转换
- 定时功能和用户启动功能之间的冲突
- 当用户向下滚动时,在折叠下方启动Flash横幅
- 只有当用户单击链接/按钮时,启动响应才会滑动
- 如何将用户启动的操作传递到iframe中
- 确定给定的 JavaScript 操作是否已由用户启动