javascript - 如何在鼠标悬停事件中使用悬停

标签 javascript jquery drag-and-drop

我正在尝试为我的网站创建一个拖放功能使用jQuery UI 或HTML5 拖放功能。我已经弄清楚了拖动部分,但我无法将它们放在特定的放置区域。这是我的代码:

HTML

<ul id="grid">
     <li class="drop">
          <div class="drag" id="el_1"><div>
     </li>
     <li class="drop">
          <div class="drag" id="el_2"><div>
     </li>
     <li class="drop">
          <div class="drag" id="el_3"><div>
     </li>
     <li class="drop"></li>
     <li class="drop"></li>
     <li class="drop"></li>
</ul>
<script>
     $(function() {
          $('.handle').mousedown(drag_and_drop);
     });
</script>

CSS

#grid{
     position:relative;
     width:360px;
     height:auto;
}
.drop{
     width:100px;
     height:100px;
     margin:10px;
}
.drag{
     position:absolute;
     width:100px;
     height:100px;
}
#el_1{ top:10px; left:10px}
#el_2{ top:10px; left:130px}
#el_3{ top:10px; left:250px}

脚本

function drag_and_drop(e){
        var drag = $(this);
        var drop = drag.parent();

        drag.addClass('draggable');

        drag_h = drag.outerHeight(),
        drag_w = drag.outerWidth(),
        pos_y = drag.offset().top + drag_h - e.pageY,
        pos_x = drag.offset().left + drag_w - e.pageX;

        $('.draggable').css('z-index', 9000).mousemove(function(e) {

/*

IN THIS MOUSEMOVE FUNCTION IS THERE ANY WAY TO DETECT IF THE DRAGGABLE DIV IS "HOVERING" OVER THE li.drop ELEMENTS?

*/

            $('.draggable').offset({
                top: e.pageY + pos_y - drag_h,
                left: e.pageX + pos_x - drag_w

            }); 
        }).mouseup(function() {
            drag.removeClass('draggable');
        });   
    e.preventDefault(); // stops the browser default drag method    
};

有什么方法可以在我开始拖动对象后检测到它是否在特定的 li.drop 上方 - 我可以将其放入其中?

最佳答案

您可以使用下面的代码获取当前鼠标位置并编写另一个函数来查看该位置是否在可放置的 div 范围内。好文章在这里:

http://docs.jquery.com/Tutorials:Mouse_Position#How_do_I_find_the_mouse_position.3F

关于javascript - 如何在鼠标悬停事件中使用悬停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13940832/

相关文章:

javascript - 从包含多个数字的字符串中提取特定数字

jquery - 在 3 行网格中 float div,中间行顶部偏移

delphi - 拖放时移动图像

javascript - javascript 中的拖放 - 元素可以按 x 移动,但不能按 y 移动?

javascript - 比较时间并在 jquery 中显示消息

javascript - 在 javascript 中从文本文件中搜索字符串

javascript - 最简单的跨浏览器检查协议(protocol)处理程序是否已注册

javascript - 通过javascript更改django中的选择选项

jquery - 当 .next() 到达 .length() 末尾时添加类?

javascript - 如何拖放到文本中