Sto lavorando su una versione mobile del mio sito. Sto usando il più possibile media query e CSS, ma sto anche utilizzando alcuni javascript per, ad esempio, trasformare la mia navigazione in un elenco di compressione/espansione su dispositivi più piccoli per risparmiare spazio.iphone/ipad che attiva eventi di ridimensionamento imprevisti
Per gestire tutto questo, stavo tentando di utilizzare l'evento window.resize. Questo permette alla magia di accadere sui browser desktop mentre vengono ridimensionati, ma sto ricevendo gli eventi di ridimensionamento su iPad/iPhone quando non li aspetto.
Sui browser desktop, ottengo un evento di ridimensionamento solo se effettivamente ridimensiono la finestra. Nei browser mobili ottengo l'evento di ridimensionamento quando cambio orientamento (previsto), ma lo ottengo anche quando si attiva/espande/comprimi qualcosa.
Ecco un semplice esempio:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<title>Resize test</title>
<style>
.box {height: 10000px; background: green; display: none;}
</style>
<script>
$(function(){
$(".opener").click(function(){
$(".box").slideToggle();
});
$(window).resize(function(){
alert("resized");
});
});
</script>
</head>
<body>
<a href="#" class="opener">Open/close me</a>
<div class="box"></div>
</body>
</html>
Quando si fa clic sul collegamento su un browser desktop, senza avviso. Fai clic sul collegamento su iPhone/iPad, ricevi l'avviso. Qual è l'accordo?
Ciao @ rdoyle720. Perché non contrassegnare come risposta valida la risposta @ 3stripe? –
@ rdoyle720 Mi piacerebbe anche questo :) – 3stripe