기본 js 및 H5 시뮬레이션 마우스 클릭 드래그

7285 단어

하나.원생 js


1. 끌어당기는 흐름 동작
  • 마우스 단추를 누르면 onmousedown 이벤트를 터치합니다
  • 마우스 이동이 onmousemove 이벤트를 촉발
  • 마우스 놓기 onmouseup 이벤트
  • 2. 주의사항:
  • div가 가시상자에서 이동하는 것을 방지하고div이동의 가로 좌표를 제한한다. 
  • 불여우의 버그를 방지하고 마지막으로returnfalse를 써서 기본 이벤트를 막기; 
  • 마우스 움직임이div로 이동하는 것을 방지하기 때문에document을 사용해야 합니다.onmousemove와document.onmouseup, oDiv를 사용할 수 없습니다.onmousemove;

  • 3. 코드 구현:
    html:
    <div id='box' style="position:relative;width:100px;height:100px;background:#ee735c;">  
             div  
    div>

    js:
    window.onload = function() {
                    var box = document.getElementById('box')
    
                    box.onmousedown = function(e) { //               
                        var disX = e.clientX - box.offsetLeft //clientX,Y               X,Y  (    )
                        var disY = e.clientY - box.offsetTop //offsetLeft,top             
    
                        document.onmousemove = function(e) { 
                            var l = e.clientX - disX
                            var t = e.clientY - disY
    
                            if(l < 0) { //  div     
                                l = 0;
                            } else if(l > document.documentElement.clientWidth - box.offsetWidth) {
                                l = document.documentElement.clientWidth - box.offsetWidth;
                            }
    
                            if(t < 0) {
                                t = 0;
                            } else if(t > document.documentElement.clientHeight - box.offsetHeight) {
                                t = document.documentElement.clientHeight - box.offsetHeight;
                            }
    
                            box.style.left = l + 'px';
                            box.style.top = t + 'px';
                        }
                        
                        document.onmouseup = function() {
                            document.onmousemove = null;
                            document.onmouseup = null
                        }
                        
                        return false
                    }
                }

     


    둘.H5 drag 및 drop 드래그 앤 드롭


    드래그 앤 드롭은 html5의 표준으로 모든 요소를 드래그할 수 있습니다
     
    html:
            <div class="div1" ondrop="drop(event)" ondragover="allowDrop(event)">
                <img src="img/2.jpg" draggable="true" ondragstart="drag(event)" id="drag1" />   //       
            div>
            <div class="div2" ondrop="drop(event)" ondragover="allowDrop(event)">div>

    js:
    function drag(ev) {  //ondragstart    
                    ev.dataTransfer.setData("ok", ev.target.id); //      
                }
                
                function allowDrop(ev) { //ondragover    
                    ev.preventDefault(); //
                }
    
                function drop(ev) {     //ondrop  
                    ev.preventDefault();
                    var data = ev.dataTransfer.getData("ok");  //    
                    ev.target.appendChild(document.getElementById(data));
                }

     
    전재 대상:https://www.cnblogs.com/coderL/p/7929753.html

    좋은 웹페이지 즐겨찾기