나는 드래그로 실행 구글 크롬에서 문제를 드롭 :현재 드래그 위치를 현재 프레임과 비교하여 어떻게 얻을 수 있습니까?
foo.html을 :
<iframe style="position:absolute;left:300px" src="bar.html"></iframe>
bar.html에는 :
<div draggable="true" id="bar">Drag me!</div>
<script>
document.getElementById("bar").addEventListener("dragend", function(e) {
console.log(e.view === window); // false
console.log(e.view === window.parent); // true
});
</script>
가 왜에 e
상대적입니다 현재 창 (예 : window
현재 프레임의 속성)이 아닌 부모 창 dragstart
과 dragover
은 모두 현재 프레임을 기준으로 view
속성을 가진 인수를 받는다는 것을 확인했습니다.
Here 님의 사파리 또는 크롬 문제를 재현합니다.
편집 : 내 테스트에서 프레임 외부로 드래그를 끝내지 않을 것입니다.
출력 결과를 현재 출력하고있는 것과 비교할 수 있습니까? –
예상되는 결과는 무엇입니까? –
드래그 시작은 항상 iframe 내에서 발생하므로 e.view는 항상 드래그 시작을위한 iframe의 창과 같습니다. 그러나 iframe 경계 밖으로 드래그하면 dragend가 iframe 외부에있게되므로 e.view는 iframe의 부모 인 드롭 다운 창과 동일합니다. 이 경우 드래그를위한 e.clientX 및 e.clientY 위치는 부모 창에 대해 정확합니다. – fmacdee