javascript – 在包含许多iframe的文档中查找焦点元素
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 在包含许多iframe的文档中查找焦点元素,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1760字,纯文字阅读大概需要3分钟。
内容图文
我有一个包含多个iframe的文档. iframe都有textareas和textboxes.如何在整个文档中找出聚焦元素(带有光标的元素)?我需要一个方法(或属性),它将搜索所有iframe并返回带有光标的textarea或textbox.
document.ActiveElement在控制台中为我提供了整个文档.
解决方法:
我已经为你做了.使用此功能,您可以在网页或iframe中激活元素.该函数检查活动元素的位置并返回它:
/**
* Return the active element in the main web or iframes
* @return HTMLElement
**/
function getActiveElement() {
var focused = false;
// Check if the active element is in the main web or no
if( document.body === document.activeElement ||
document.activeElement instanceof HTMLIFrameElement ){
// Search in iframes
$('iframe').each(function(){
var element = this.contentWindow.document.activeElement;
// If there is a active element
if( element !== this.contentWindow.document.body ){
focused = element;
return false; // Stop searching
}
});
}
else focused = document.activeElement;
return focused; // Return element
}
你可以看到一个工作的jsfiddle示例:http://jsfiddle.net/tgrywLz7/5/
更新:
更好!使用新功能,您可以在具有多级iframe且没有jQuery的网页中获取活动元素!:
/**
* Retrieve active element of document and preserve iframe priority MULTILEVEL!
* @return HTMLElement
**/
var getActiveElement = function( document ){
document = document || window.document;
// Check if the active element is in the main web or iframe
if( document.body === document.activeElement
|| document.activeElement.tagName == 'IFRAME' ){
// Get iframes
var iframes = document.getElementsByTagName('iframe');
for(var i = 0; i<iframes.length; i++ ){
// Recall
var focused = getActiveElement( iframes[i].contentWindow.document );
if( focused !== false ){
return focused; // The focused
}
}
}
else return document.activeElement;
return false;
};
见行动:http://jsfiddle.net/tgrywLz7/9/
内容总结
以上是互联网集市为您收集整理的javascript – 在包含许多iframe的文档中查找焦点元素全部内容,希望文章能够帮你解决javascript – 在包含许多iframe的文档中查找焦点元素所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。