0
  • iFrameでjQueryを取得して、親でjQuery関数を呼び出すにはどうすればよいですか?

これがiFrameのコードです

<script>
    $(document).ready(function (){

        $("#Hey").click(function ()
        {

            parent.WorkPlease(); // does not work
                   window.parent.WorkPlease(); // also does not work
                   // Both hosted on same domain

        });
    });
</script>

これがiFrameをホストしている親ページのjQueryです

<script type="text/javascript">
$(document).ready(function(){

    function WorkPlease()
    {
$('html,body').animate({scrollTop: $("#iFrame").offset().top}, 5000);// 
    }
});
</script>
4

1 に答える 1

3

iframeから、ただし同じドメイン内で親のDOMにアクセスできます。これはあなたの場合のようです。

コードの問題は、関数が、親ページ自体のオブジェクトではなく、イベントハンドラーにworkPlease渡す無名関数のローカル変数として定義されていることです。document readywindow

試す:

$(document).ready(function(){

    window.workPlease = function()
    {
        $('html,body').animate({scrollTop: $("#iFrame").offset().top}, 5000);// 
    }
});
于 2013-01-18T02:28:44.803 に答える