防止输入框窃取焦点

时间:2018-08-06 13:51:18

标签: javascript jquery html

我有一个chrome扩展名,当我单击该页面上的特定图标时会显示输入。

我可以在输入中输入内容,但是一旦我在其他位置单击,无论我多久单击一次输入,都无法将焦点移回该输入。

发生这种情况的原因是,网站本身(我无法修改)始终集中在该页面上的文本区域上,因此在此处输入文本。

我已经尝试过以下操作:

$(document).on('blur', '.giphySearch input', function () {
            var input=this;
            setTimeout(function() {
                input.focus();
            })
        });

但是没有真正的努力(这似乎只会减慢一切;但是输入仍然失去了重点)

有什么办法可以禁用所有“聚焦窃取”脚本并在工作完成后再次将其打开?

(我知道总是从页面获得焦点的文本框的类。但是,由于我位于chrome扩展程序之内,因此无法更改该页面上的任何内容)

仅需完成: 我正在谈论的输入内容:

<div class="giphySearch"><input  autofocus type="text" value="huih"/></div>

1 个答案:

答案 0 :(得分:0)

我可以通过将内容移动到DOM的另一部分来解决此问题(准确地说是:直接位于<body/>下。

这种行为似乎是因为我的div的父母之一。

在我的特定情况下,即使@ibowankenobi的答案可能是更通用的答案,但我认为这是“最干净的”方法:Contenteditable Events - Jquery