1. Qiita
  2. 投稿
  3. jQuery

ifameのload eventが複数回発生する

  • 4
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

説明がむずかしいのですが、以下のようなコードがあったとします。

$(document).ready(function () {
    $("#MyIframe").load(function () {
        alert("ifram loaded!!");
    });

    $("foo").bind("click", function () {
        $("#MyIframe").attr("src", "http://example.com");
    });
});

1回目のクリックはアラート表示は1回だけですが、2回目のクリックは2回、n回目のクリックはn回アラート表示が表示されます。

とりあえず以下のように変更しましたが、これが原因だよ、とか、こうしたらいいよ、というのがあれば教えてくださいませ。

$(document).ready(function () {
    var isLoaded = false;
    $("#MyIframe").load(function () {
        if (isLoaded) {return false}
        alert("ifram loaded!!");
        isLoaded = true;
    });

    $("foo").bind("click", function () {
        $("#MyIframe").attr("src", "http://example.com");
    });
});