在iframe中查找重点项目

JQu*_*ery 5 iframe jquery html5

我试图在iframe中找到焦点项但却失败了!

每当我插入iframe时,项目似乎都是聚焦的,例如,如果我插入一个表格,那么光标总是在最后一个单元格中.

作为我测试我试图改变单元格的背景颜色,看它是否工作但这总是改变iframe体而不是插入的项目

var d1 = $.Deferred();

$.when(d1).then(function () {                
    var $iframe = $("#ifr").contents();
    var focused = $iframe.find(':focus');
    focused.css("background", "red");
    console.log(focused);
})

d1.resolve(insertTable(html));
Run Code Online (Sandbox Code Playgroud)

d1 只是调用一个函数,它使用execCommand()插入iframe.

是否可以找到聚焦元素并将其存储在此方法中?

ser*_*inc 2

body如果没有其他元素具有焦点,则该元素是后备元素:

\n\n
\n

可能没有重点关注的元素;当没有焦点元素时,文档接收到的关键事件必须针对 body 元素,如果有一个,[...]用户代理[...]可能只支持每个顶级浏览上下文的一个焦点元素\ xe2\x80\x94 用户代理应遵循这方面的平台约定。

\n
\n\n

另请参见CSS:focus选择器。您的问题是整个浏览上下文中只有一个元素可以获得焦点。如果焦点不在 内iframe,则它在其他地方,而iframe\ 的body元素就是后备元素。

\n\n

https://www.w3.org/TR/html5/browsers.html#nested-browsing-context表示iframes 是嵌套浏览上下文,而不是顶级浏览上下文。因此,整个页面似乎只有一个焦点元素。如果它不在您的范围内iframebody则会返回它。

\n