我有一个包含iframe的HTML页面,我正在尝试在iframe中的链接上编写函数。这些函数将在HTML页面中进行更改...
以下脚本适用于在iframe中单击的第一个链接。但是当iframe chages“src”时,该函数将不再起作用。
即使更改了iframe的src,我怎样才能使它工作?
(所有页面都在同一个域中)
<script type="text/javascript">
$("iframe").contents().find("a").click(function() {
alert('Load was performed.');
});
</script>
答案 0 :(得分:1)
尝试使用.live()方法,它将事件绑定到现有元素和未来元素。更改src时,需要再次将click事件绑定到新链接。
我不知道.live()方法是否适用于iframe,但你可以试试这个:
$("iframe").contents().find("a").live('click',function() {
alert('Load was performed.');
});
抱歉我的英语不好!
我不知道它是否会起作用(抱歉我现在没有在哪里测试),但如果你尝试在iframe的onLoad事件上绑定一个函数会发生什么,(即使W3C说的话) iframe没有任何事件,它似乎得到所有浏览器的支持):
<iframe src="/my_contents" onLoad="onload_function()"></iframe>
...
<script>
onload_function(){
$(function(){
$("iframe").contents().find("a").click(function() {
alert('Load was performed.');
});
});
}
</script>
答案 1 :(得分:0)
如果它与您的域名相同,那么它应该可以正常工作因为Some Origin polciy它不会作为其跨域工作。