cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Masalah dengan halaman induk mendengar acara dalam iframe

Saya masih tidak boleh mendengar, apa sebabnya?

ibu bapa.html

<body>
    <iframe id="iframe" src="son.html" frameborder="0"></iframe>

<script src="./jquery.js"></script>
<script>
    $(function(){
        $($('#iframe')[0].contentWindow).on('dosomething', function(){
            alert('接收到到iframe的事件');
        });
    });
</script>
</body>

anak.html

<body>
    
    <h1>son</h1>
    <button id="button">trigger</button>

<script src="./jquery.js"></script>
<script>
    $(function(){
        $('#button').on('click', function(){
            $(window).trigger('dosomething');
        });
    });
</script>
</body>

Terima kasih!

Jangan

Saya baru jumpa semasa mencari, tidak teruk, keserasian adalah baik
MessengerJS
https://github.com/biqing/Mes...
Penyelesaian komunikasi silang dokumen

世界只因有你世界只因有你2807 hari yang lalu965

membalas semua(4)saya akan balas

  • 滿天的星座

    滿天的星座2017-05-16 13:37:56

    anak.html

     $(function(){
            $('#button').on('click', function(){
                window.parent.$(window).trigger('dosomething');
            });
        });

    Acara ditakrifkan dalam jquery halaman induk Untuk mencetuskan, jquery halaman induk perlu bertanggungjawab untuk mencetuskan.

    Saya sudah lama tidak melihat kod sumber jquery. Saya mencari untuk masa yang lama dan tidak menemui kandungan yang sepadan untuk dijelaskan.

    balas
    0
  • 漂亮男人

    漂亮男人2017-05-16 13:37:56

    PostMessage boleh digunakan untuk berkomunikasi antara halaman.

    Atau hanya mengikat dan mengendalikan acara pada halaman yang sama.

    $('#iframe').contents().find('#button').on("click", function(){
        $(window).trigger('dosomething');
    });

    balas
    0
  • 天蓬老师

    天蓬老师2017-05-16 13:37:56

    Sebab mengapa ia tidak boleh dipantau adalah kerana apabila halaman induk melakukan pengikatan acara melalui kaedah on, fungsi panggil balik acara didaftarkan dalam objek jquery halaman induk. Apabila halaman anak melaksanakan kaedah pencetus, ia hanya akan mencari panggilan balik acara yang didaftarkan dalam objek jquery halaman anak Oleh itu, selepas peristiwa dicetuskan, fungsi panggil balik acara yang didaftarkan pada halaman induk tidak boleh dilaksanakan kerana ia tidak boleh. ditemui dalam objek jquery halaman kanak-kanak.

    balas
    0
  • 为情所困

    为情所困2017-05-16 13:37:56

    Dua jq, dua persekitaran, adakah anda pasti tiada masalah?

    ------Di atas adalah jawapan asal, dan berikut adalah aduan saya selepas dilaporkan -------

    Saya ingin bertanya kepada orang yang melaporkan saya, dua persekitaran jq, adakah ini sebab mengapa anda tidak boleh mencetuskan peristiwa
    Apa yang salah dengan jawapan saya?

    balas
    0
  • Batalbalas