在iPad等触控设备上(或镀铬中的移动仿真模式)。在身体上跟踪touchmove
事件并从身体停止触发的dom touchmove
事件中删除元素(启动touchstart时)。
我制作了示例:http://jsbin.com/yinodosuxo/1/edit?js,console,output
即使删除了子元素,touchmove
还有什么方法可以继续工作吗?
答案 0 :(得分:0)
我通过缓存元素来修复此问题,直到发出touchend
事件。
触发touchstart
事件的视图的伪代码如下所示:
view.remove = function () {
if (didViewStartTouchEvents) {
var _this = this;
this.hideElement(); // display: none, opacity: 0, etc
elementCache.appendChild(this); //append this element to some other place like body. Not needed but might be handy depending on situation
document.body.addEventListener('touchend', function () {
_this.didViewStartTouchEvents = false;
_this.remove();
});
} else {
// regular remove & cleanup
}
}