jQuery2とjQuery3が違いすぎて氏ねる件

jQueryで作ったWEBシステムを評価してくれる人に見せたら…FireFoxだと動かないんですね…
って言われて、「え?」たしかにfireFoxとchromeで動作が違う…。

あまりこういうことは経験的にないのだけど…

なんでかなーと思ったら、ready…つまり$(function() {})の中に、
$(“window”).on(“load”)などをjQuery3は内包してはいけないからっぽい。

早い話がjQuery3の使い方を間違えているので、動作の違いが生まれた。

あまり、実行順序を考慮していないのですが…。

(参考)
https://qiita.com/mimoe/items/74cb3a01a30162759fdd

readyの後にloadが動作するのらしいですが、、
readyのなかにloadのイベントをいれてはいけないらしい。
firefoxだと動きません。なんで。

私は実験的(!)に、
readyの中にclassをつくってMVC化しているので…
loadの処理だけを例外的にreadyの外に出すという…気持ち悪いことをしたくない。

たぶんそうすればChromeとFirefoxの動作違いの問題は解決する気がする。
だけど、それは嫌なので結局jQuery2に戻してしまいました。

なんらかの理由で3を使いたいシーンでは苦しむかもしれませんが
(というかjQuery3に適したコーディングを考慮しないといけませんが)

コメント

タイトルとURLをコピーしました