이 글에서는 드래그 기능을 쉽게 구현하기 위한 javascript html5를 위주로 자세하게 소개하고 있는데, 관심 있는 친구들은 참고할 수 있을 것입니다.
드래그 앤 드롭(드래그 앤 드롭)은 HTML5의 표준 구성 요소입니다. 아래에서는 드래그 객체가 되는 방법, 드래그 대상이 되는 방법, 드래그된 객체에 대한 이벤트를 설명합니다. 드래그 대상이 소유한 이벤트와 드래그 앤 드롭 개체 간에 정보를 전송하는 방법.
드래그된 개체가 소유한 이벤트
드래그 대상에 속한 이벤트
드래그 가능한 객체가 되는 방법
<p draggable="true"></p>
드래그 타겟이 되는 방법
droptarget.addEventListener('dragenter', function(event) { event.preventDefault(); }); droptarget.addEventListener('dragover', function(event) { event.preventDefault(); });
드래그 앤 드롭 개체 간에 정보를 전송하는 방법
이벤트에는 두 가지 공통 메서드 setData( ) 및 getData()는 각각 드래그 앤 드롭 정보를 저장하고 드래그 앤 드롭 정보를 얻는 데 사용됩니다. 그 중 setData()는 드래그 이벤트 시작시, 즉 dragstart 이벤트가 설정된 경우에만 설정할 수 있으며, getData()는 일반적으로 drop 이벤트가 트리거될 때 획득된다.// drapobj 拖拽元素 // droptarget 放置目标 dragobj.addEventListener('dragstart', function(event) { event.dataTransfer.setData('id', dragobj.id); }); droptarget.addEventListener('drop', function(event) { var id = event.dataTransfer.getData('id'); var obj = document.getElementById(id); event.preventDefault(); this.appendChild(obj); });전체 코드
문제가 있습니다HTML5 拖拽 <p draggable="true"></p><script> var droptarget = document.getElementById('droptarget'); var dragobj = document.getElementById('dragobj'); // drapobj 拖拽元素 // droptarget 放置目标 dragobj.addEventListener('dragstart', function(event) { event.dataTransfer.setData('id', dragobj.id); }); droptarget.addEventListener(&#39;dragenter&#39;, function(event) { event.preventDefault(); }); droptarget.addEventListener(&#39;dragover&#39;, function(event) { event.preventDefault(); }); droptarget.addEventListener('drop', function(event) { var id = event.dataTransfer.getData('id'); var obj = document.getElementById(id); event.preventDefault(); this.appendChild(obj); }); </script>
Firefox 브라우저의 기본 드래그 앤 드롭 이미지
새 창을 열고 JavaScript 고급 프로그래밍에 따라 드롭 이벤트에서 기본 이벤트를 비활성화해도 문제가 해결되지 않습니다. 해결 방법:이미지를 p의 배경 이미지로 사용하고 p를 드래그 개체로 사용하면 이 문제는 발생하지 않습니다. 최종 코드
HTML5 拖拽 <script> var droptarget = document.getElementById('droptarget'); var dragobj = document.getElementById('dragobj'); // drapobj 拖拽元素 // droptarget 放置目标 dragobj.addEventListener('dragstart', function(event) { event.dataTransfer.setData('id', dragobj.id); }); droptarget.addEventListener(&#39;dragenter&#39;, function(event) { event.preventDefault(); }); droptarget.addEventListener(&#39;dragover&#39;, function(event) { event.preventDefault(); }); droptarget.addEventListener('drop', function(event) { var id = event.dataTransfer.getData('id'); var obj = document.getElementById(id); event.preventDefault(); this.appendChild(obj); }); </script>
위 내용은 JavaScript HTML5에서 드래그 기능을 쉽게 구현하는 기술에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!