在touchend
事件期间,在(视觉上)测量元素是否超过另一个元素的最佳方法时会感到困惑。基本上我正在实现一个触摸友好的拖放。
我在.elementFromPoint()
和event.touches
上看到了一点点,但我不确定如何使用它们来衡量特定元素的界限。像下面的东西。
.bind('touchend', function(e){
e.preventDefault();
/* IF (targ is within titles bounds) { append targ to titles} */
if (titles == document.elementFromPoint(orig.touches[0].pageX,orig.touches[0].pageY)){
titles.append(targ);
}
targ.removeClass('moving').removeAttr('style');
});
答案 0 :(得分:0)
这似乎对我无缝工作,不断在拖动的元素上切换zindex,以便您可以获得下面的元素。
element.addEventListener('touchmove', touchMove, false);
function touchMove(event) {
var x = event.targetTouches[0].clientX;
var y = event.targetTouches[0].clientY;
dragger.style.zIndex = -1;
var hoveredElement = document.elementFromPoint(x, y);
console.log(hoveredElement);
dragger.style.zIndex = options.draggerZIndex;
}
如果您可以忽略旧版浏览器,请回答javascript - elementFromPoint select bottom element 也可以添加指针事件:无