これを使用して、ブラウザウィンドウのサイズが変更されたときにコードを実行する:$(window).resize(callback)
携帯電話とタブレットで向きが変更されたときにも、このコードを実行する必要があります。上記のイベントはこのイベントで発生しますか?
一部のデバイス/ブラウザはサポートしていますが、そうでないものもあります。サポートされているブラウザとデバイスを決定する必要があります。
安全な側にしたい場合は、サイズ変更イベントを使用し、その中のサイズを取得/確認する必要があります。目的のデバイスが簡単な向きの変更に対応していることがわかっている場合:
簡単な解決策:
// Listen for orientation changes
window.addEventListener("orientationchange", function() {
// Announce the new orientation number
alert(window.orientation);
}, false);
より安全/サポートされている
// Listen for resize changes
window.addEventListener("resize", function() {
// Get screen size (inner/outerWidth, inner/outerHeight)
}, false);
デビッド・ウォルシュは、サイズ変更と方向変更イベントに関する良い記事を書きました。方向の変更とサイズの詳細はこちら: http://davidwalsh.name/orientation-change
私の解決策:
window.addEventListener("resize", throttle(function() {
//to do when resize
}, 50), false);
window.addEventListener("orientationchange", function() {
// Generate a resize event if the device doesn't do it
window.dispatchEvent(new Event("resize"));
}, false);
答えは私見です:いいえ
しかし:
$(window).on('resize orientationchange', function(){
//do stuff
});
あなたがカバーする必要があります
注意、これはブラウザに応じて2回トリガーすることができます
簡単な解決策は、イベントタイプに基づいて値を渡すことです。
window.addEventListener('resize', function () {
myFunction('resize');
});
window.addEventListener("orientationchange", function() {
myFunction('orientation');
});
function myFunction(value) {
if (value == 'resize') {
// do something
} else if (value == 'orientation') {
// do something else
}
}