Javascript touchend if元素在另一个元素上

javascript touchend if element is over another

本文关键字:元素 另一个 Javascript if touchend      更新时间:2023-09-26

对于在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');
});

这对我来说似乎是无缝的工作,不断地在拖动的元素上切换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选择底部元素只需添加pointer-events: none