jquery iframe src

时间:2010-12-07 15:18:27

标签: jquery iframe src

我有一个包含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>

2 个答案:

答案 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它不会作为其跨域工作。