cari

Rumah  >  Soal Jawab  >  teks badan

android - acara touchmove cara melumpuhkan penatalan halaman

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?

天蓬老师天蓬老师2774 hari yang lalu838

membalas semua(1)saya akan balas

  • PHP中文网

    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();
    }
    
    或者

    balas
    0
  • Batalbalas