Javascript移动div-在div移动时,防止鼠标向下移动与页面上的其余文本交互

Javascript移动div-在div移动时,防止鼠标向下移动与页面上的其余文本交互,javascript,html,mouseevent,Javascript,Html,Mouseevent,我正在尝试制作一个可移动的div。我知道它是一个带有jQuery的单行程序,但我不想为这个特性添加100k+的代码。我下面所说的方法是有效的,除了当div移动页面上的其余文本时,就像鼠标向下拖动一样(当然是这样),因此文本会随着鼠标的移动而高亮显示或取消高亮显示。有没有相对“简单”的纯javascript解决方案 顺便说一句:谢谢你的代码 window.onload = addListeners; function addListeners(){ document.getElement

我正在尝试制作一个可移动的div。我知道它是一个带有jQuery的单行程序,但我不想为这个特性添加100k+的代码。我下面所说的方法是有效的,除了当div移动页面上的其余文本时,就像鼠标向下拖动一样(当然是这样),因此文本会随着鼠标的移动而高亮显示或取消高亮显示。有没有相对“简单”的纯javascript解决方案

顺便说一句:谢谢你的代码

window.onload = addListeners;

function addListeners(){
    document.getElementById('moveme').addEventListener('mousedown', mouseDown, false);
    window.addEventListener('mouseup', mouseUp, false);
}

function mouseUp()
{
    window.removeEventListener('mousemove', divMove, true);
}

function mouseDown(e){
  window.addEventListener('mousemove', divMove, true);
}

function divMove(e){
    var div = document.getElementById('moveme');
  div.style.position = 'absolute';
  div.style.top = e.clientY + 'px';
  div.style.left = e.clientX + 'px';
}
还有一些测试html

    <div id="moveme" style="width:100px; background-color:red">Test<br><br>Some more text</div>

    <div style="position:absolute; top:100px; left:50px;">
    <h1>Curriculum</h1>
    <ul>
      <li><a href="#">Math</a></li>
      <li><a href="#">Geometry</a></li>
      <li><a href="#">Physics</a></li>
    </ul>
    </div>
测试

更多文本 课程

我找到了一些代码,这些代码向我展示了如何使它工作。问题似乎在于将OnMouseDown设置为要移动的div。如果将OnMouseDown设置为window,则可以克服高亮显示(教程演示了如何克服)。我不得不修改显示的代码,以便向上搜索树以找到被单击的父div(例如,如果div中的某个元素将鼠标向下移动,而不是div本身)。

框架和库的全部要点是这些小问题已经解决。如果jQuery对您来说太重,那么还有其他选择。请参阅:谢谢您的SO链接。那篇文章的第二个链接包含了一个我可以修改的解决方案。