我有一个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>
答案 0 :(得分:0)
我可以通过将内容移动到DOM的另一部分来解决此问题(准确地说是:直接位于<body/>
下。
这种行为似乎是因为我的div的父母之一。
在我的特定情况下,即使@ibowankenobi的答案可能是更通用的答案,但我认为这是“最干净的”方法:Contenteditable Events - Jquery