ここで奇妙なもの。touchmove
以前、私が構築している iOS Web アプリケーションでデフォルトの動作を防止することをいじっていました。イベント リスナーを追加して伝播を防ぐのは簡単ですが、デフォルトの動作をその子の 1 つに戻す必要があります。私が理解しているように、親が無効になっているため、子はイベントを登録しません。
だから私は解決策が必要です。
基本的に、多くのスワイプが行われているため、デフォルトのボディ スクロール動作をノックアウトする必要があります。スワイプしながらスライドするページは腹立たしい。当然、イベント リスナーを外側のコンテナーに追加する必要があります。それを避けることはできません。
子の 1 つにデフォルトのブラウザ制御動作を戻すにはどうすればよいですか? 私は自分の物理学とすべてでそれを偽造したくありません。
ご協力いただきありがとうございます。
HTML:
<div id="mainPanel"> <!-- add event listener and preventDefault(); -->
<div id="nonScrollingPanel></div>
<div id="scrollingPanel></div> <!-- add event listener and re-enable default -->
</div>
JavaScript:
$bod.on('touchmove', '#mainPanel', function(event){
event.preventDefault();
});
$('#mainPanel').on('touchmove', '#scrollingPanel', function(){
return true;
});