我试图通过突出显示文本并将其放入 div 中来打开新选项卡,该选项卡使用函数使用删除的文本创建一个新变量,并使用新变量打开新选项卡。 我找到了一些可以通过剪贴板中的粘贴来完成此操作的来源。
这里是jsFiddle
function handlePaste (e) {
var clipboardData, pastedData;
// Stop data actually being pasted into div
e.stopPropagation();
e.preventDefault();
// Get pasted data via clipboard API
clipboardData = e.clipboardData || window.clipboardData;
pastedData = clipboardData.getData('Text');
window.open('http://'+pastedData+'.com', '_blank');
}
document.getElementById('editableDiv').addEventListener('paste', handlePaste);
最佳答案
你必须像这样修改它:
function handlePaste (e) {
var clipboardData, pastedData;
// Stop data actually being pasted into div
e.stopPropagation();
e.preventDefault();
// Get pasted data via clipboard API
clipboardData = e.clipboardData || window.clipboardData;
pastedData = clipboardData.getData('Text');
window.open('http://'+pastedData+'.com', '_blank');
}
document.getElementById('editableDiv').addEventListener('paste', handlePaste);
// Store dragged element
document.addEventListener("dragstart", function( event ) {
// store a ref. on the dragged elem
dragged = event.target;
}, false);
// Drop event listener
document.getElementById('editableDiv').addEventListener('drop', function(e) {
e.stopPropagation();
e.preventDefault();
// dragged element (p tag) is a DOM node, so we have to take it's text content
window.open('http://'+dragged.textContent+'.com', '_blank');
});
Demo
关于javascript - 突出显示文本,将其放下并打开新选项卡 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39324735/