以下の実装のようにDOMContentLoaded
イベントでdata-src
属性を持つimg
タグを取得してきて、load
イベントにある関数(someFunction
)を設定しているのですが、この実装だと、ブラウザのリロード時にload
イベントが発火しません。
ブラウザの開発ツールを使って調べたところ、ブラウザキャッシュから画像を取ってくるスピードが速すぎて、load
イベントにイベントリスナーを設定する前にload
イベントが終わってしまっているんじゃないかと疑っています。
DOMContentLoaded
イベントとimg
タグのloaded
イベントは状況によって順番が前後してしまうことはあるのでしょうか?
リロード時にもloaded
イベントを発火させたいのですが、どのように修正すれば発火を保証することができるのでしょうか。
ご教授いただけますと幸いです。よろしくお願いいたします。
javascript
1document.addEventListener("DOMContentLoaded", function(event) { 2 let imgs = document.querySelectorAll("[data-src]"); 3 for (var img of imgs) { 4 img.addEventListener("load", someFunction, false); 5 } 6});
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/14 08:00