Javascript iOS/Android&hammer.js:当从DOM中删除HTML元素时,事件停止

Javascript iOS/Android&hammer.js:当从DOM中删除HTML元素时,事件停止,javascript,touch,dom-events,hammer.js,Javascript,Touch,Dom Events,Hammer.js,我在iOS/Android设备上使用hammer.js有一个大问题:事件和删除的HTML元素似乎有问题。假设我们有一个容器,在这个容器上我们使用带有触摸和平移处理程序的hammer.js。里面有一个HTML元素,我们开始拖动它。当在处理程序内部的某些逻辑期间删除元素时,将不再触发任何事件,即使手指仍在设备上并在移动。桌面浏览器不会显示这种恼人的行为 这里有一个小例子要演示: HTML: JS: 当你在iOS上调试这个程序时,你可以看到,当你在触摸id为的盒子后试图移动手指时,事件是如何停止的——

我在iOS/Android设备上使用hammer.js有一个大问题:事件和删除的HTML元素似乎有问题。假设我们有一个容器,在这个容器上我们使用带有触摸和平移处理程序的hammer.js。里面有一个HTML元素,我们开始拖动它。当在处理程序内部的某些逻辑期间删除元素时,将不再触发任何事件,即使手指仍在设备上并在移动。桌面浏览器不会显示这种恼人的行为

这里有一个小例子要演示:

HTML:

JS:

当你在iOS上调试这个程序时,你可以看到,当你在触摸id为的盒子后试图移动手指时,事件是如何停止的——因为它会在半秒钟后被删除


这真的是预期的行为吗?有什么建议吗?

你的小提琴在iOS 7中对我很管用!所有console.log都正确显示。
<div id="wrapper">
    <div id="steady"></div>
    <div id="willBeDeleted"></div>    
</div>
#wrapper {
    width: 300px;
    height: 300px;
    border: 1px solid black;
    position: relative;
    margin-top: 100px;
}

#steady {
    width: 50px;
    height: 50px;
    position: absolute;
    top: 10px;
    left: 10px;
    background: green;
    -webkit-user-select: none;
    -webkit-touch-callout: none; 
    -webkit-user-drag: none; 
}

#willBeDeleted {
    width: 50px;
    height: 50px;
    position: absolute;
    right: 10px;
    bottom: 10px;
    background: yellow;
    -webkit-user-select: none;
    -webkit-touch-callout: none; 
    -webkit-user-drag: none; 
}
Hammer(document.getElementById('wrapper'))
.on('hammer.input', function(evt) {
    if (evt.isFirst) {
        console.log('touch', evt.target.id);
        if (evt.target.id === 'willBeDeleted') {
            window.setTimeout(function() {
                $(evt.target).remove()
            }, 500);
        }        
    }
})
.on('panstart', function(evt) {
    evt.preventDefault();
    console.log('panstart', evt.target.id);
})
.on('panmove', function(evt) {
    evt.preventDefault();
    console.log('panmove', evt.target.id);    
})
.on('panend', function(evt) {
    console.log('panend', evt.target.id);
});