我认为已经有人问过,我有一个iframe页面,我们有近10个文本字段,每当用户点击任何一个文本字段时,我想知道该页面中的Y位置。 这可能吗?
答案 0 :(得分:1)
这是未经测试的,但应指向正确的方向。
<强>的jQuery 强>
$(document).ready(function(){
var iframe = $('iframe');
var inputs = iframe.find('input');
$.each(inputs, function(){
$(this).click(function(){
console.log($(this).offset().top));
})
})
})
Vanilla Javascript
根据评论更新。也未经测试。
为您的iframe添加ID以便更容易定位,然后:
var iframe = document.getElementById('iframe');
var inputs = Array.prototype.slice.call(iframe.getElementsByTagName('input'));
inputs.forEach(function(input,i){
input.addEventListener('click', function(){
console.log(this.getBoundingClientRect().top;
})
})
答案 1 :(得分:0)
如果主窗口和iframe内容都在同一协议/域内,则可以直接访问iframe的contentBody并获取输入字段的scrollTop位置。
例如:
var y = $('iframe').contents().find('#myInputField').offset().top;