我正在工作的项目,这需要与树视图中的文本的HTML元素被拖放到文本框。将元素拖放到文本框中后,只应将该元素的innerText粘贴到文本框的特定位置。我在这个项目中使用AnularJS。
我正在收听MUSSEDOW、MICOSEMOVE和MUSEUP事件。我的想法是将HTML元素的innerText复制到剪贴板上,并在‘MouseDown’事件上复制AngularJS模型,然后将其粘贴到‘MouseUp’上的文本区域中。
示例代码
$scope.elementValue;
elementsWithValuesToCopy.addEventListener('mousedown',
function(event) {
var element = event.currentTarget;
var range = document.createRange();
range.selectNode(element);
window.getSelection().addRange(range);
$scope.elementValue = document.execCommand('copy');
});
textAreaElement.addEventListener("mouseup",
function(event) {
////Pasting value of elementValue into text box
});
上面的代码在我的项目中不起作用,值没有被分配给模型。
1条答案
按热度按时间ycl3bljg1#
因此,5年后,我在搜索类似功能的快速片段时,发现了这个问题。由于没有答案,我转而使用MDN文档,并找到了一个非常简单的解决方案。所以我想和大家分享一下。
我们只需要设置数据并将MIME更正为在拖放事件之间共享的dataTransfer对象: