【问题标题】:javascript touchend if element is over anotherjavascript touchend如果元素在另一个之上
【发布时间】:2013-03-24 09:42:22
【问题描述】:

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

【问题讨论】:

    标签: javascript drag-and-drop coordinates touch-event


    【解决方案1】:

    这对我来说似乎无缝工作,不断在拖动的元素上切换 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 也可以添加指针事件:无

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-30
      • 1970-01-01
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-15
      相关资源
      最近更新 更多