편집 2 :
내가 순수한 JS 양식이 재 작성 (또한 몇 가지 문제를 해결합니다).
요점 : https://gist.github.com/matt-curtis/9044134
JSFiddle : http://jsfiddle.net/z9Y86/1/
코드 :
var LinkGrabber = {
textarea: null,
/* Textarea Management */
attach_ta: function(){
if(LinkGrabber.textarea != null) return;
var textarea = LinkGrabber.textarea = document.createElement("textarea");
textarea.setAttribute("style", "position: fixed; width: 100%; margin: 0; top: 0; bottom: 0; right: 0; left: 0; z-index: 99999999");
textarea.style.opacity = "0.000000000000000001";
var body = document.getElementsByTagName("body")[0];
body.appendChild(textarea);
textarea.oninput = LinkGrabber.evt_got_link;
},
detach_ta: function(){
if(LinkGrabber.textarea == null) return;
var textarea = LinkGrabber.textarea;
textarea.parentNode.removeChild(textarea);
LinkGrabber.textarea = null;
},
/* Event Handlers */
evt_drag_over: function(){
LinkGrabber.attach_ta(); //Create TA overlay
},
evt_got_link: function(){
/* THIS IS WHERE WE HANDLE THE RECEIVED LINK */
var link = LinkGrabber.textarea.value;
alert(link);
LinkGrabber.detach_ta();
},
evt_drag_out: function(e){
if(e.target == LinkGrabber.textarea) LinkGrabber.detach_ta();
},
/* Start/Stop */
start: function(){
document.addEventListener("dragover", LinkGrabber.evt_drag_over, false);
document.addEventListener("dragenter", LinkGrabber.evt_drag_over, false);
document.addEventListener("mouseup", LinkGrabber.evt_drag_out, false);
document.addEventListener("dragleave", LinkGrabber.evt_drag_out, false);
},
stop: function(){
document.removeEventListener("dragover", LinkGrabber.evt_drag_over);
document.removeEventListener("dragenter", LinkGrabber.evt_drag_over);
document.removeEventListener("mouseup", LinkGrabber.evt_drag_out);
document.removeEventListener("dragleave", LinkGrabber.evt_drag_out);
LinkGrabber.detach_ta();
}
};
원래 답변 : 내가 생각할 수있는 유일한 해결 방안은 무엇인가를하는 것입니다
를 사용하는 입력 및 텍스트 영역에 삭제 된 링크의 링크가 텍스트로 수신되므로 삭제 된 앵커의 링크를 가져 오는 입력 또는 텍스트 영역이 있습니다.
HTML :
<textarea id="link_grabber"></textarea>
<div id="notice">Drop a link on me! :)</div>
JS : http://jsfiddle.net/C8yAa/2/
편집 :
$("body").bind("dragenter dragover", function(){
//When the user has dragged a link into the document...
}).bind("dragleave dragexit", function(){
//When the drag is moved outside the document...
});
setInterval(function(){
if($("#link_grabber").val() != ""){
var val = $("#link_grabber").val(); //Get the newly dropped link
$("#link_grabber").val(""); //prep textarea for the next link
$("#notice > span").text("Your link is: "+val);
}
}, 100);
나는 개념을 보여줍니다 jsFiddle했다이 일의 HTML5 방법도 있습니다 체크 아웃 : http://www.html5rocks.com/en/tutorials/dnd/basics/
내게 뭔가 코딩 했어! 이것은 매우 흥미 롭습니다. '입력을 사용하여 삭제 된 앵커의 링크를 가져 오는 방법'에 대해 자세히 설명해 주시겠습니까? 나는 이제 '링크'가 URL을 보유하고 있다고 가정합니다. 드래그 앤 드랍 가능한 객체를 만드는 데이 객체를 사용할 수도 있지만,이 방법에 대해서는 알지 못합니다. – honeywind
링크 (책갈피 등)가 텍스트 영역이나 입력 위에 놓이면 해당 링크가 텍스트 영역이나 입력에 나타나기 때문에 작동합니다. 이 예제는 가능한 한 가장 낮은 불투명도 (0.01)로 텍스트 영역을 만드는 방식으로 작동합니다. 그런 다음 텍스트 영역에 무언가가 입력되었는지 지속적으로 확인하는 간격을 만들었습니다. 일명 드래그 앤 드롭 링크입니다. 그런 일이 발생하면 링크에 경고하고 텍스트 영역을 다시 사용 가능하게합니다. – mattsven
나는 더 매끄러운 & 더 나은 버전을 만들었다 : http://jsfiddle.net/C8yAa/2/ – mattsven