Angular 2 拖放

标签 angular dom drag-and-drop

我的 Angular 2 项目的 index.html 中有这些函数:

<script>
function allowDrop(ev) {
    ev.preventDefault();
}

function drag(ev) {
    ev.dataTransfer.setData("text", "teststring");
}

function drop(ev) {
    ev.preventDefault();
    var data = ev.dataTransfer.getData("text");
    console.log(data);
}
</script>

当我将函数放入组件中时,出现以下错误:

Uncaught ReferenceError: drag is not defined at HTMLImageElement.ondragstart
Uncaught ReferenceError: allowDrop is not defined at HTMLDivElement.ondragover

使用这些函数的元素位于组件 html 中:

<div> ondrop="drop(event)" ondragover="allowDrop(event)">
    <img> src="smiley.png" draggable="true" ondragstart="drag(event)">
</div>

<div ondrop="drop(event)" ondragover="allowDrop(event)">
</div>

最佳答案

无需将代码移至index.html,只需执行以下操作:

改变

ondrop, ondragover, ondragstart, event

(drop), (dragover), (dragstart), $event

分别在您的模板(html)中。

关于Angular 2 拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44508668/

相关文章:

javascript - 有什么方法可以在Javascript中同时显示隐藏多个密码吗?

iframe - 无法在 iframe 中拖动元素

jquery-ui - 当元素在不移动鼠标的情况下拖动时滚动 div

javascript - 如何在 JavaScript 中将 File 对象添加到 FileList 集合?

angular - Material CDK Overlay flexibleConnectedTo 不接受 Angular 组件作为原点

javascript - Angular 6 - 尝试服务应用程序时未定义进程

Angular HttpClient 授权 header 已创建但消失了

javascript - Angular 输入属性始终为true

javascript - 将 Canvas 元素附加到 DOM

javascript - Angular 2单选按钮事件