javascript - 防止视野模糊的最佳方法?

标签 javascript html focus

我有一个文本字段,无论如何我都想保持焦点。

问题是,我的页面加载了一个 iframe(跨域),其中的内容窃取了焦点。此外,当 iframe 窃取焦点时,用户可能会在我的文本字段中键入内容,从而导致用户改为在 iframe 的文本字段中键入内容。

我尝试向 .focus() 事件发送垃圾邮件,希望如果它变得模糊,它会立即重新聚焦。看起来这可行,但发生的情况是焦点切换回来的速度不够快——用户仍然能够在 iframe 的聚焦字段中输入内容。

有没有办法完全防止模糊发生?或者有一种更快的方法将焦点切换回我的文本字段?

这是我尝试过的方法,但并不完全有效:

//get the textbox DOM element to focus.
var my_textbox = $("#my_textbox").get(0);
//pretty straight-forward -- focus it.
var setFocus = function(){
  my_textbox.focus();
}

//every 10ms refocus our textbox.
//apparently, 10ms is not fast enough, as some typing
//still occurs in the iframe's textfield.
setInterval(setFocus, 10);

注意:我昨天做了一个类似的问题,但我认为这个问题找到了问题的根源。希望一切顺利。

最佳答案

你试过这个吗?

//get the textbox DOM element to focus.
var my_textbox = $("#my_textbox").get(0);

my_textbox.onblur = function(){
  my_textbox.focus();
};

仍然感觉很困惑,但我认为这就是你想要的。

关于javascript - 防止视野模糊的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3847105/

相关文章:

javascript - 错误的值被插入 Javascript 数组

javascript - 突变没有观察并记录到控制台

ios - UITableView 和 tvOS 的新方法

C# 停止按钮在单击时获得焦点

android - 在Android中设置相机对焦区域

javascript - 如何使用 JavaScript 将数据传递到 LibGDX?

javascript - 对象默认值?

javascript - 使用 jquery 重置下拉列表中的选定内容

html - 较高 Z-Index 上的元素受较低 Z-Index 上透明 Div 的影响

html - 如何更改输入按钮字体颜色?