0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

jQuery3以降では $(function () {}内で $(window).on('load', function(){}); は使えない

Last updated at Posted at 2023-08-25

はじめに

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?