EDIT 2:
I rewrote this in pure JS form (also fixes some problems).
Gist: https://gist.github.com/matt-curtis/9044134
JSFiddle: http://jsfiddle.net/z9Y86/1/
the code:
var LinkGrabber = {
textarea: null,
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;
},
evt_drag_over: function(){
LinkGrabber.attach_ta();
},
evt_got_link: function(){
var link = LinkGrabber.textarea.value;
alert(link);
LinkGrabber.detach_ta();
},
evt_drag_out: function(e){
if(e.target == LinkGrabber.textarea) LinkGrabber.detach_ta();
},
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();
}
};
Original answer:
The only POSSIBLE solution I can think of is to do something that uses an input or text field to get the link of the dropped anchor, because the inputs and text fields get the links of the dropped links as text.
HTML:
<textarea id="link_grabber"></textarea>
<div id="notice">Drop a link on me! :)</div>
JS:
$("body").bind("dragenter dragover", function(){
}).bind("dragleave dragexit", function(){
});
setInterval(function(){
if($("#link_grabber").val() != ""){
var val = $("#link_grabber").val();
$("#link_grabber").val("");
$("#notice > span").text("Your link is: "+val);
}
}, 100);
I made jsFiddle which demonstrates the concept: http://jsfiddle.net/C8yAa/2/
: HTML5 , : http://www.html5rocks.com/en/tutorials/dnd/basics/ p >