4

このコードを使用したindex.html

<iframe src="other.html" width="100%" height="600px"></iframe>

<input type="button" id="btnOutside" value="Click me"/>

other.html には、次のコードがあります。

<input type="button" id="btnInside" value="Other Click"/>
<script type="text/javascript">
$(document).ready(function() {
    $("#btnInside").click(function () {
        alert('inside');
    });
});
</script>

index.htmlで、このように外側のボタンが内側のボタンをトリガーするようにしようとしています

<script type="text/javascript">
$(document).ready(function() {
    $("#btnOutside").click(function () {
        $("#btnInside").click();
    });
});
</script>

しかし、それは機能していません。私に何ができる??

4

1 に答える 1

10

異なる iframe には異なるコンテキストとドキュメントがあります。 を呼び出す$('#btnInside')と、jQuery はホスト iframe で実行され、そのドキュメントを検索しているため、それを見つけることができません。ただし、ネストされた iframe が同じサーバー上にある場合は、ホスト ドキュメントからそのドキュメントにトンネリングできます。

$(document).ready(function() {
    $("#btnOutside").click(function () {
        $('iframe[src="other.html"]').contents().find("#btnInside").click();
    });
});
于 2013-02-22T17:27:11.997 に答える