質問: 現在iframeを使った画像アップロード機能を作成しています。 jQuery】IE9でページ遷移せずにファイルをPOSTしてJSONを受け取る を参考にして作成することができました。 ただこのサイトの「3. iframeで受け取ったJSONの文字列をJSON.parse()で連想配列に変換」のところで ``` $(".hideIframe").off().on("load", function() { ``` としていますが、これはなぜ`$(".hideIframe").on("load", function() {`ではなく、上記のように一度 `.off()`しているのでしょうか? もしわかる方がいればよろしくお願い致します。
回答: $(".hideIframe")はsubmit毎になかのDOMが変わるため、submit以前の設定を削除して新たにセットしているのです。 前のものがあるとどう困るかというと、まず、処理するべき以前のjQueryオブジェクトが消えています。不具合の原因になりそうです。 次に何重にもイベントが設定されているため、処理が多くなります。リソースを多く使うし、レスポンスも悪くなりそうです。