0
0

More than 1 year has passed since last update.

jQueryの$(window).on (‘load’)で躓いた

Posted at

はじめに

前回に引き続き、遅延読み込み(Ajax)の修正後に躓いた話。
jQueryの$(window).on ('load')が上手く動かない。。。
具体的には、リストデータを遅延読み込みする際に画面読み込み時だけ上手く動かず(動くこともある)、条件検索や件数表示を変えたときの処理はきちんと動く。
改善前のソースコードはこんな感じ。

$(function () {
    $(window).on('load', function(){
    	// ここでAjax通信を行う。
    });
}

これがそもそもダメだった。
$(function () {} $(window).on('load', function(){});を囲うことは jQuery3以降では完全にアウトとのこと。

解決策

$(window).on('load', function(){
    // ここでAjax通信を行う。
});

これだけ。$(function () {} の外に出すだけ。
ただ、開発によっては思わぬ事故を防ぐために関数定義のたびに

$(function () {

}

で囲いがち。これがそもそも良くないのだろうが。。。
少なくとも、$(window).on('load', function(){});に限っては$(function () {} の中で定義するのはやめておいた方が良さそう。思わぬ事故につながるので。

参考文献

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0