.focus()不会'单击两次时无法聚焦.jQuery 1.9.1中的
.focus() doesn't focus when clicked twice
.focus()不会每秒都关注一个iframe。例如,它第一次聚焦时有效,第二次不起作用,第三次有效,第四次无效,等等
我创建了这个jsFiddle来测试这个问题:http://jsfiddle.net/QVuhR/1/。以下是jsfiddle的代码:
Javascript代码:
$(document).ready(function(){
var editor = (textEditor.contentDocument) ? textEditor.contentDocument : textEditor.document;
editor.designMode = "on";
$("#focusButton").click(function(e){
$("#textEditor").focus();
});
});
HTML:
<button id="focusButton">Focus Test</button>
<iframe id="textEditor"></iframe>
焦点在Firefox上运行良好,但在Chrome上不起作用。
Chrome是否有解决此错误的方法?
我首先通过显式模糊来实现它:http://jsfiddle.net/U8JGd/
$(document).ready(function(){
var editor = (textEditor.contentDocument) ? textEditor.contentDocument : textEditor.document;
editor.designMode = "on";
$("#focusButton").click(function(e){
$("#textEditor").blur();
$("#textEditor").focus();
});
});
您可以尝试手动将焦点重定向到其他位置,然后将焦点返回:
$("#focusButton").click(function(e){
$("#focusButton").focus();
$("#textEditor").focus();
});
不确定这是否符合最佳编码实践,但它确实有效。
这似乎是一个变通方法:
$("#focusButton").click(function(e){
if (!$("#textEditor").is(":focus"))
$("#textEditor").focus();
});
在chrome中,焦点似乎起到了切换的作用。
$(document).ready(function(){
var editor = (textEditor.contentDocument) ? textEditor.contentDocument : textEditor.document;
editor.designMode = "on";
$("#focusButton").click(function(e){
if(!$("#textEditor").is(":focus"))
{
$("#textEditor").focus();
}
});
});
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 可以't让我的if语句处理js中的html表单输入
- 引用对象中的通用值
- 如何在angular bootstrap ui中聚焦活动导航选项卡中的拳头输入字段
- HTML5音频标签没有播放声音的铬和safari中的第一个未聚焦标签
- 聚焦+基于上下文的缩放,用于同一页面中的多个图形
- 滚动并聚焦到导航栏中的活动链接
- 如何使用 Reactjs 选择输入中的所有文本,当它聚焦时
- 聚焦奥蕾莉亚中的元素
- 如何聚焦对话框中的第一个输入框
- 通过检测 JavaScript 中的 CTRL+A 键来聚焦文本框
- 将光标聚焦在 HTML 上创建,然后在 Lightswitch 2013 中的属性字段之间移动光标
- Tab键聚焦到JavaScript中的单选按钮
- .focus()不会'单击两次时无法聚焦.jQuery 1.9.1中的
- 选择输入中的所有文本,聚焦
- Robohelp中的Webhelp窗口没有聚焦
- 如何根据元素数组中的DOM位置聚焦无效元素
- 在jQuery中检查多重选择下拉聚焦时数组中的值是否存在
- 当聚焦于ng-repeat中的最后一个元素时,无法使用AngularJS / jQuery触发控制器内部的函数
- 按钮单击可更改动态生成的聚焦文本框中的文本