親に touchmove イベントを登録するとき、コールバックが子を削除する場合、最初の touchmove イベントのみを受け取ります。内部の子は削除または追加されますが、親で touchmove イベントを受け取り続けたいと思います。
問題をデモする JS-fiddle を用意しました: http://jsfiddle.net/EVpML/3/
$("#parent").on('touchmove', function(e) {
e.preventDefault();
$("#child").remove();
$('#messages').append('<p>fired</p>');
});
#parent を (#child を介して) タッチしてドラッグすると、#child が削除され、それ以上 touchmove イベントが #parent に送信されなくなります。
これは Android 4.4.3 の Chrome で確認できますが、これを解決するために、次のガイドに従って Chrome でモバイル タッチ エミュレーションを有効にすることができます: https://developer.chrome.com/devtools/docs/mobile-emulation