要启用拖放功能,只需将draggable="true"
其作为属性添加到元素上。
例子:
<div draggable="true">Little brother</div>
所有拖动事件都有一个名为的属性dataTransfer
,用于保存拖动数据。dataTransfer
包含两条信息,数据格式(MIME)和存储的数据。使用 设置信息event.dataTransfer.setData()
。
event.dataTransfer.setData("text/plain", "Text to drag");
这是一个更改拖放行为的示例。
设置:
- 使用 Google Chrome访问Google.com 。
- 搜索任何内容,例如“狗”。
- 按F12打开开发控制台。
- 在控制台中复制并粘贴jQuery的内容。
- 复制并粘贴
Drag-N-Drop Script
控制台中的内容。
用法:
- 将搜索结果部分从 Web 浏览器拖放到文本编辑器,例如写字板。
结果:
- 一组链接应显示在您的文本编辑器中。链接采用降价样式。
拖放脚本
(function () {
// @author Larry Battle (http://bateru.com/news) 12.07.2012
var URLS = {
JQUERY : "http://code.jquery.com/jquery-1.8.3.min.js"
};
var SELECTORS = {
GOOGLE_LINK_SECTIONS : ".g"
};
var getNameAndURLFromLinks = function (el) {
var info = ["Links:\n"];
$(el).find("a").each(function () {
var url = $(this).attr("href");
if (/https?:\/\//.test(url)) {
info.push( "- [" + $(this).text() + "](" + url + ")");
}
});
return info.join("\n");
};
var storeDataInEvent = function (evt) {
var info = getNameAndURLFromLinks($(this));
event.dataTransfer.setData('text/plain', info);
};
var main = function () {
$(SELECTORS.GOOGLE_LINK_SECTIONS)
.attr("draggable", true)
.css("border", "3px orange solid")
.bind("dragstart", storeDataInEvent);
};
if(!window.jQuery){
window.alert("Paste the source of jQuery in the console and then run this script again. URL:" + URLS.JQUERY);
}else if(!/search/.test(document.location.href)){
window.alert("Google for something, then run this script in the console again.");
}
main();
}());
您应该能够为一定数量的网站创建具有此功能的 Google Chrome 扩展程序。每个站点应该有不同的main()
功能。但是,如果您针对前 100 个站点进行测试,您或许能够创建一个通用算法。