我有一个不加载jQuery的页面。该页面(在同一个域中)中包含的<iframe>
会加载jQuery。
使用jQuery,是否可以将函数绑定到父页面的window
对象的事件,即使它没有加载jQuery?
访问父window
似乎不是问题;这是有效的(至少在Firefox 4中):
console.log($(parent)); // displays "jQuery(Window index.html)" in the console
为了给出一些上下文,我正在开发要在<iframe>
中加载的文档,但我不控制父页面,所以我不能使用需要添加jQuery的解决方案。最终,我想订阅父onscroll
的{{1}}事件,以便每次在视口中滚动时在window
执行一个函数。
我已经尝试过(在<iframe>
内):
<iframe>
然而,这不起作用。
任何帮助将不胜感激。谢谢!
修改
这是一个有效的例子:
http://troy.onespot.com/static/stack_overflow/onscroll/parent.html
function my_function() {
console.log('Scrolling...');
}
$(parent).scroll(my_function);
中的文件在这里:
http://troy.onespot.com/static/stack_overflow/onscroll/iframe.html
答案 0 :(得分:3)
尝试:
parent.onscroll = function() { ... };
<强>更新强>
试试这个,它对我有用:
$(parent.document).scroll(function() { ... });
答案 1 :(得分:1)
如果您正在尝试控制另一个域中的父页面,那么出于安全原因这是不可能的。
你可以找到关于这个问题的many articles,如果这不是你的情况,请告诉我们,因为确定还有其他问题。
如果在同一个域中,那么使用它:
$(document).ready(function(){
$(本).parent()滚动(函数(){//东西});
}); 击>
$(document).ready(function(){
$(window.parent.document).scroll(function(){//stuff});
});