最近、iOS の AssistiveTouch に似た機能を H5 ページに作成しました。これは、ページ上で移動でき、使用していないときは自動的に側面に吸着する小さな中断されたウィジェットです。
発生する問題:
Android スマートフォンでは、ウィジェットを移動すると、それに応じてページがスクロールします。
ページのスクロールのスムーズさを向上させるために、Chrome ブラウザ touchmove
事件里不能用 event.preventDefault()
は新しい Chrome ブラウザでのページのスクロールを防止するためです。
新しいバインディング イベントは次のように処理する必要があります (passive: false
属性を追加しました)
ただし、私はreactを使用してモニターを直接バインドします
リーリーtouchmove でウィジェットを移動するときにページがスクロールしないようにするにはどうすればよいですか?
PHP中文网2017-05-16 13:37:17
直接来ます。 材料はここにあります
リーリーイベント ハンドラーには、ブラウザーのネイティブ イベントのクロスブラウザー ラッパーである SyntheticEvent のインスタンスが渡されます。これは、ブラウザのネイティブ イベント (stopPropagation() やPreventDefault() など) と同じインターフェイスを備えていますが、イベントはすべてのブラウザで同様に動作します。
何らかの理由で基礎となるブラウザ イベントが必要な場合は、nativeEvent 属性を使用してそれを取得します。すべての SyntheticEvent オブジェクトには次の属性があります: