zoukankan      html  css  js  c++  java
  • 简单实现可拖动div

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="Pragma" content="no-cache">
    
    <meta http-equiv="Cache-Control" content="no-cache">
    
    <meta http-equiv="Expires" content="0">
    
    <head>
    <script>
    window.onload=function(){
    var d=document.getElementById('div1');
    if(document.addEventListener) 
    {
    document.addEventListener("mousemove",moveHandler,true);
    document.addEventListener("mouseup",upHandler,true); 
    }
    else
    {
    document.attachEvent("onmousemove",moveHandler);
    document.attachEvent("onmouseup",upHandler); 
    
    }
    d.onmouseup=addE;
    function moveHandler(e)
    {
    if (!e) e=window.event;
    d.style.left=e.clientX+'px';
    d.style.top=e.clientY+'px';
    }
    function upHandler(e) 
    { 
    if(document.removeEventListener) 
    { 
    document.removeEventListener("mouseup",upHandler,true); 
    document.removeEventListener("mousemove",moveHandler,true); 
    } 
    else 
    { 
    document.detachEvent("onmouseup",upHandler); 
    document.detachEvent("onmousemove",moveHandler); 
    }
    if(e.stopPropagation) e.stopPropagation(); 
    else e.cancelBubble=true; 
    }
    
    function addE()
    {
    if(document.addEventListener) 
    {
    document.addEventListener("mousemove",moveHandler,true);
    document.addEventListener("mouseup",upHandler,true); 
    }
    else
    {
    document.attachEvent("onmousemove",moveHandler);
    document.attachEvent("onmouseup",upHandler); 
    
    }
    }
    }
    </script>
    </head>
    <body>
    <div id='div1'  style='left:80px;top:100px;position:absolute;80px;background:#aaaaaa;'>here!</div>
    
    
    </body>
    </html>


    主要利用了mousemove和mouseup事件。当然,还要注意事件处理的方式,这里禁用了冒泡。

    mousemove:鼠标每移动一个像素,就会触发一次事件。

  • 相关阅读:
    php分享三十:php版本选择
    php分享二十九:命名空间
    高性能mysql读书笔记(一):Schema与数据类型优化
    php分享二十八:mysql运行中的问题排查
    php分享二十七:批量插入mysql
    php分享二十六:读写日志
    Python | 一行命令生成动态二维码
    Python-获取法定节假日
    GoLang-字符串
    基础知识
  • 原文地址:https://www.cnblogs.com/chenjianhong/p/4145020.html
Copyright © 2011-2022 走看看