我需要获取深埋在div中的iframe中的提交按钮的偏移信息。我想在加载iframe后将另一个元素放在提交按钮旁边。 iframe是从包含页面的相同原点加载的。
<div id="editBox">
<iframe id="ifr" src="mysource">
<html>
<head></head>
<body>
<form id="dataForm" enctype="" method="POST" action="">
<div>
<table> some form elements </table>
<button id="submitButton" onclick="" type="submit">Save to file</button>
我已经尝试了
$('#editBox').contents().find('#submitButton').offset();
和
$('#ifr').contents().find('#submitButton').offset()
但两者都未定义。
我还将.contents语句包装在setTimeout中,以确定问题是否是我在加载iframe之前检查的问题。 (如果有效,我会添加一个加载的事件处理程序),但没有变化,结果仍未定义。
如何获得我需要的位置信息?
答案 0 :(得分:0)
将代码包含在iframe的load()
函数中。这就像文档就绪函数或窗口加载函数一样工作:
$("#ifr").on("load", function(){
var offset = $(this).contents().find('#submitButton').offset();
});