Sto utilizzando iScroll sul mio sito Web di attivazione mobile (utilizzando iPhone qui) per scorrere all'interno di un div.iframe impedisce lo scorrimento di iScroll sul cellulare Safari
In questo questo div, ho un iframe con un'altezza fissa come questo:
<body>
<div id="iscroller">
<iframe id="theIframe"></iframe>
Other stuff
</div>
</body>
Ora, durante lo scorrimento all'interno del div, tutto funziona come previsto, ma non riesco a scorrere quando il gesto di scorrimento comincia l'iframe.
Il problema è descritto qui abbastanza bene: https://github.com/cubiq/iscroll/issues/41
Così, ho usato la soluzione css da questo incarico, applicando pointer-events:none
al iframe.
opere Ora scorrimento perfettamente ma non riesco a fare clic su qualsiasi link che vengono definite all'interno del iframe perché tutti click/toccare eventi sul iframe sembra essere bloccato a causa di pointer-events: none
.
Così, ho pensato:
"Ok, mentre l'utente scorre, ho bisogno
pointer-events:none
Se è non scorrimento (e invece facendo clic), devo impostarepointer-events:auto
al fine di lasciare il clic./passano gli eventi di tocco. "
Quindi ho fatto questo:
CSS
#theIframe{pointer-events:none}
JavaScript
$("#theIframe").bind("touchstart", function(){
// Enable click before click is triggered
$(this).css("pointer-events", "auto");
});
$("#theIframe").bind("touchmove", function(){
// Disable click/touch events while scrolling
$(this).css("pointer-events", "none");
});
anche l'aggiunta di questo non funziona:
Indipendentemente da ciò che faccio: uno scorrimento non funziona o il collegamento all'interno dell'iframe non funziona.
Non funziona. Qualche idea?
non c'è altro modo per farlo? questo è un modo intelligente per farlo, ma io non ho il controllo sull'iframe, e se cambia im vite, grazie amico :) – jycr753
@ jycr753 Se il tuo utente non ha bisogno di cliccare i collegamenti all'interno dell'iframe, potresti usare attributo css 'pointer-events: none' invece. – Timo
Grazie ho apprezzato – jycr753