実現したいこと・発生している問題
デバイスの方向変換を感知して、横向きの場合にwindowに対してタッチイベントを発生させようとしています。
しかし、向きを判定するところまではうまくいくのですが、そのあとのイベント登録がうまくいきません。
初期状態を縦とした場合、その後横にすれば処理が発生するはずなのですが動かず、
再度縦→横と繰り返すと処理が走るようになります。
これがPC(Chrome)の検証モードだとうまくいくのですが、実機(iPhone-safari)で確認すると上記のような現象になります。。
ちなみに、縦状態の際にイベントを削除したいのですが、その処理を入れると全く動かなくなります。。
該当のソースコード
JavaScript
1var orientation = Math.abs(window.orientation); 2 3window.addEventListener("orientationchange", function(){ 4 // orientation値を更新 5 orientation = Math.abs(window.orientation); 6 if ( orientation === 90 ) { 7 // ヨコ表示 8 window.addEventListener("touchstart", function(){ 9 console.log("touchstart"); 10 }, false); 11 } 12}, false);
試したこと
1回目の回転時も、if文の中まで通っていることは確認しました。ちゃんと方向の感知はできています。
(初期状態が横の場合の処理も必要ですが、今は考えなくてよいです。)
補足情報(FW/ツールのバージョンなど)
端末:iPhoneSE/iOS11.4.1
確認ブラウザ:Safari11.0
Webインスペクタで動きを確認しています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/09 05:42
2018/11/09 05:48
2018/11/09 05:51
2018/11/09 06:23