Rumah > Soal Jawab > teks badan
Baru-baru ini, saya membuat fungsi yang serupa dengan AssistiveTouch pada iOS pada halaman H5: widget kecil yang digantung yang boleh dialihkan pada halaman dan secara automatik menjerap ke tepi apabila tidak digunakan.
Masalah yang timbul:
Pada telefon Android, apabila anda mengalihkan widget, halaman akan menatal dengan sewajarnya.
Oleh kerana untuk meningkatkan kelancaran penatalan halaman, penyemak imbas Chrome touchmove
事件里不能用 event.preventDefault()
menghalang penatalan halaman pada penyemak imbas Chrome baharu.
Acara mengikat baharu perlu dikendalikan seperti ini (tambah atribut passive: false
)
document.addEventListener('click', onClick, {passive: false, capture: false});
Tetapi saya menggunakan react dan mengikat monitor secara terus
<p onTouchmove={::this.touchmove} >
</p>
Bagaimana untuk menghalang halaman daripada menatal apabila mengalihkan widget dengan touchmove?
PHP中文网2017-05-16 13:37:17
直接来。 资料在这里
Pengendali acara anda akan diberikan contoh SyntheticEvent, pembalut silang penyemak imbas di sekitar acara asli penyemak imbas. Ia mempunyai antara muka yang sama seperti peristiwa asli penyemak imbas, termasuk stopPropagation() dan preventDefault(), kecuali peristiwa berfungsi secara sama merentas semua penyemak imbas.
Jika anda mendapati bahawa anda memerlukan acara penyemak imbas asas atas sebab tertentu, hanya gunakan atribut nativeEvent untuk mendapatkannya. Setiap objek SyntheticEvent mempunyai atribut berikut:
<p onTouchmove={this.touchmove.bind(this)} ></p>
touchmove(event){
event.stopPropagation();
event.nativeEvent.stopImmediatePropagation();
}
或者