ブラウザのSafariのみスクロール関連のイベントが発火しない場合の対応方法
2024/02/20
jQueryで一定距離スクロールさせた場合に発火するイベントをプログラムしていたが、IE / Chrome / Firefoxだと正常に動作するのにSafariのみ動作しないという症状が発生した。jQueryの書き方によってはSafariのみスクロール距離を正常に取得できないっぽい。以下に原因と対策をメモ。
原因
以下のような形でスクロールした距離を取得しようとしたが、この書き方だとsafariではスクロール量を取得できない模様。
var hoge = $('body,html').scrollTop();
対策
以下に変更する。
var hoge = $(window).scrollTop();
参考サイト
http://d.hatena.ne.jp/cyokodog/20090112/jQueryPositionSize03
「位置情報の取得結果を比較してみる」というところに詳しく載っている。
関連記事
-
-
Ajaxでプラグイン無しのファイルアップロード方法
画像ファイルを添付できて、尚且つAjaxを用いた非同期通信のフォームを作りたかっ ...
-
-
スマホ対応のjQueryのカラーピッカープラグイン「excolor」の利用方法
以前の記事でカラーピッカープラグインのことを書いたけどスマホでは使えない。なので ...
-
-
Flashを用いずJavaScriptでコピー&カット機能を実装する方法
以前メモったようなFlashを用いる方法ではなく、WebAPIでコピー& ...
-
-
FlashとjQueryを組み合わせたプラグインでWebカメラで撮影した画像をアップロード
FlashとjQueryを組み合わせたプラグインを用いてWebカメラで撮影した画 ...
-
-
オリジナルのjQueryプラグインを作成する方法
オリジナルのjQueryプラグインを作ってみたかった。というのも大抵のものはググ ...