在拖动过程中触发Mousemove(HTML5)

时间:2014-01-06 11:45:16

标签: javascript jquery html5 drag-and-drop

有没有办法在触发dragenter事件后触发mousemove事件?

我要做的是根据元素上的鼠标位置,根据元素的哪一面(左侧或右侧)更改视觉标记,这取决于鼠标在元素上的位置。

我已经在mousemove事件中编写了我想要的行为代码,我也需要在拖动事件期间以某种方式触发它。

这是我的mousemove事件,它根据元素内部的鼠标位置在悬停元素之前或之后添加标记。

on('mousemove', function(e) {
    e.stopPropagation();
    var rect = $(this).get(0).getBoundingClientRect();
    var mousePosPercent_X = ((event.clientX-rect.left)/(rect.right-rect.left))*100;
    var mousePosPercent_Y = ((event.clientY-rect.top) /(rect.bottom-rect.top))*100;
    if(mousePosPercent_X < 50)
    {
        if($(this).prev().is('.insertpos'))
        {
        }
        else
        {
            $(".droptest").find(".insertpos").remove();
            $(this).before("<li class='insertpos leftpos'></li>");
        }
    }
    else
    {
        if($(this).next().is('.insertpos'))
        {

        }
        else
        {
             $(".droptest").find(".insertpos").remove();
             $(this).after("<li class='insertpos leftpos'></li>");
        }
    }
});

这是一个小提琴 http://jsfiddle.net/5K84p/1/

我必须使用本机HTML5拖放,我的唯一目的是即使在拖动事件发生时也能检测到鼠标移动。

非常感谢。

1 个答案:

答案 0 :(得分:2)

Dragmove事件发挥了作用.. 难道不敢相信我浪费了几个小时才磕磕绊绊!