HTML5 기본 끌어서 놓기가 적용되어, drop은 IE에서 작동하지 않으며 Chrome과 Firefox에서 잘 작동합니다.IE5에서 HTML5 끌어서 놓기가 작동하지 않습니다.
IE에서 드래그가 작동하지만 드롭 다운이 발생하지 않습니다.
또 다른 작은 질문 - IE에서 나는 draggable 요소 주위에 반투명 사각형이 있지만 배경은 투명합니다 (이미지는 그런 식으로 처리됩니다). 크롬/파이어 폭스에는 그 사각형이없고 이미지가 보이지 않습니다. 드래그하는 동안 모든 배경.
<div id="4x2" class="dropArea" draggable="false" ondragenter="drag_enter(event); return false;" ondrop="drag_drop(event); return false;" ondragover="return false" ondragleave="drag_leave(event); return false;" data-droppable="true" onmouseover="return mouseOver(this); return false;" onclick="return movePlayer(this); return false;" onmouseout="return mouseOut(this); return false;">
</div>
이 드래그 할 수있는 요소는 다음과 같습니다 :
<div id="player1" draggable="true" ondragstart="drag_start(event); return false;" ondragend="drag_end(event); return false;" data-droppable="false" onclick="return selectPlayer(this); return false;" data-selectable="true"></div>
function drag_start(e)
{
e.dataTransfer.effectallowed = 'copy';
e.dataTransfer.dropEffect = 'copy';
e.dataTransfer.setData("text/plain", e.target.getAttribute('id'));
}
function drag_enter(e) {
if (e.target.getAttribute('data-droppable') == 'true') {
e.target.style.backgroundImage = "url(images/board_cell_background_highlight.png)";
}
function drag_leave(e) {
if (e.target.getAttribute('data-droppable') == 'true') {
e.target.style.backgroundImage = "url(images/board_cell_background.png)";
}
function drag_drop(e) {
var element = e.dataTransfer.getData("Text"); // the player
if (e.preventDefault) {
e.preventDefault();
}
if (e.stopPropagation) {
e.stopPropagation();
}
if (e.target.getAttribute('id') == "player1" || e.target.getAttribute('id') == "player2") {
alert("invalid Move");
return false;
}
e.target.style.backgroundImage = "url(images/board_cell_background.png)";
moveHandler(element, e.target.getAttribute('id'));
}
function drag_end(e) {
e.dataTransfer.effectallowed = 'copy';
alert("drop end")
}
}
}
내가 코드를 더 짧게하는 인쇄 재료의 일부 코드를 제거
이
드롭 영역입니다.
우리는 바이올린을 얻을 수 있습니까? –