私はモバイル サイトで作業しており、イベントを発生させたくないときに発生することに苦労しています。
簡単にするために、(jQuery で) 次のように記述します。
el.on('touchend', function(ev) {
ev.preventDefault();
// fire an ajax call
};
ただし、ユーザーがページをスクロールしているときにアイテムをヒットすると、ajax リクエストが発生することがあります (その結果、ページの状態が変化します)。
私はそれを回避する方法を考えることができなかった (ev.stopPropagation()
うまくいかなかった) のでdragstart
、dragend
イベントを監視することにしました。
el.on('dragstart', function() {
el.off('touchend');
});
el.on('dragend', function(ev) {
ev.stopPropagation(); // <-- seems to do nothing
// add back the event above (the function is set to a var)
});
コールバック内でアラートを出すと、ドラッグをやめた後にイベントが実際に発生したというtouchend
確認が得られます。touchend
他のイベントが発生するのを防ぐ方法を知っている人はいますか? 私は盲目で、明らかな何かを見落としているだけだと思っています。