Javascript 角模式中的拖放事件
当我将上面的代码调整为不使用AngularJS时,它工作得非常好。当我出于完全无法解释的原因创建上述指令时Javascript 角模式中的拖放事件,javascript,angularjs,drag-and-drop,event-handling,Javascript,Angularjs,Drag And Drop,Event Handling,当我将上面的代码调整为不使用AngularJS时,它工作得非常好。当我出于完全无法解释的原因创建上述指令时 console.log(event.originalEvent.dataTransfer.getData(“Text”)不输出任何内容为什么? 我还介绍了HTML代码(两个列表之间的拖放功能): 可用生活事件 {{event.name} 应用生活事件 {{event.name} 如果您正在使用,则存在与此完全相同的问题。我自己还没有试过,但显然没有正确修复。使用拖动事件,
console.log(event.originalEvent.dataTransfer.getData(“Text”)代码>不输出任何内容为什么?
我还介绍了HTML代码(两个列表之间的拖放功能):
可用生活事件
-
{{event.name}
应用生活事件
-
{{event.name}
如果您正在使用,则存在与此完全相同的问题。我自己还没有试过,但显然没有正确修复。使用拖动事件,而不是拖动启动。请查收
与此同时,我在某个地方读到,数据只能通过drop获得。然而,即使是内部下降事件是不可用的…我没有使用它!你是个明星!
angular.module('myApp').directive('dragDrop', function() {
return {
link:function(scope,element){
element.on('dragover', function(event) {
event.preventDefault();
});
element.on('drop', function(event) {
event.preventDefault();
var data=event.originalEvent.dataTransfer.getData("Text");
event.target.parentNode.appendChild(document.getElementById(data));
});
element.on('drag', function(event) {
event.originalEvent.dataTransfer.setData("Text",event.target.id);
console.log(event.originalEvent.dataTransfer.getData("Text"));
scope.$apply();
});
}
};
});
<div class="col-xs-6" drag-drop>
<div class="header">Available Life Events</div>
<ul class="permission-levels">
<li style="margin:20px;" ng-attr-id="{{'ALE'+$index}}" draggable="true"
ng-repeat="event in Events track by $index">
{{event.name}}
</li>
</ul>
</div>
<div class="col-xs-6" drag-drop>
<div class="header">Life Events Applied</div>
<ul class="permission-levels">
<li style="margin:20px;" ng-attr-id="{{'LEA'+$index}}" draggable="true"
ng-repeat="event in events track by $index">
{{event.name}}
</li>
</ul>
</div>