私はフォームがIFRAME内に提出されたときにenventをバインドしようとしているが、私はいくつかの問題を抱えている:私はバインドイベントにも変更URL
:
初の試みをページが読み込まれたときにenventをバインドしようとしましたが、それは機能しましたが、ページが完全に読み込まれたときにのみバインドされます。
$('#mainFrame').on("load", function()
{
$('#mainFrame').contents().find('form').submit(function(){
$('#overlay').addClass("overlay");
});
});
は、その後、私は準備ができてイベントに
$('#mainFrame').ready(function()
{
$('#mainFrame').contents().find('form').submit(function(){
$('#overlay').addClass("overlay");
});
});
を使用しようとしたが、URLが変更されたときに、それが呼び出されていません。
第二の試み:
私は、IFRAME内のすべての入力にイベントをバインドしようとしましたが、私はそれが(.contentsなしiframe要素にアクセスすることができないと思います)
$('#mainFrame').on("click", 'input',function(){
$('#overlay').addClass("overlay");
});
PS : iframeのページは同じドメインのものです
誰かが私を助けることができますか?
へiframeの内容にアクセスするには、完全にロードされるまで待つ必要があるため、最初の例のようにイベントをloadにバインドします。 – zer00ne
いくつかのページはすべてのリソースを完全にロードするには時間がかかりません.DOMがロードされた直後にイベントをバインドするために.readyのようなものが必要です –
その場で準備ができているiframeに頼らないでください。 iframeの代わりに、 '.load()'や '.get()'を使ってメインページの指定された領域でhtmlをインポートすることができます。あなたのコンテンツが巨大である場合、あなたのコンテンツを細かい部分に分割して、必要に応じてロードするようにレイアウトを書き直したいかもしれません。 – zer00ne