Javascript 无法读取AngularJS中未定义的属性dataTransfer
html: 错误:Javascript 无法读取AngularJS中未定义的属性dataTransfer,javascript,angularjs,ionic-framework,ionic,Javascript,Angularjs,Ionic Framework,Ionic,html: 错误: .directive('draggable', function () { return function(scope, element) { // this gives us the native JS object var el = element[0]; console.log(el) el.draggable = true; el.addEventListener(
.directive('draggable', function () {
return function(scope, element) {
// this gives us the native JS object
var el = element[0];
console.log(el)
el.draggable = true;
el.addEventListener(
'dragstart',
function(e) {
e.originalEvent.dataTransfer.effectAllowed = 'move';
// e.dataTransfer.setData('Text', this.id);
this.classList.add('drag');
return false;
},
false
);
el.addEventListener(
'dragend',
function(e) {
this.classList.remove('drag');
return false;
},
false
);
}
})
如何修复此错误
我遵循这篇文章,只需要draggable指令就可以工作。只需更改
Uncaught TypeError: Cannot read property 'dataTransfer' of undefined(anonymous function) @ controllers.js:12
app.js:19 Uncaught TypeError: Cannot set property 'effectAllowed' of undefined
与
演示JSFIDLE:
根据:It;您的broswer可能与
e.originalEvent
不兼容(您可以简单地使用本机窗口事件),因此,未定义
。它在我的应用程序中出现错误。这正是我添加OriginaleEvent但它不工作的原因。在他们的代码笔上工作正常。您已更改e.dataTransfer.effectAllowed='move';到e.originalEvent.dataTransfer.effectAllowed='move';所以这是一个错误,请看
Uncaught TypeError: Cannot read property 'dataTransfer' of undefined(anonymous function) @ controllers.js:12
app.js:19 Uncaught TypeError: Cannot set property 'effectAllowed' of undefined
e.originalEvent.dataTransfer.effectAllowed = 'move';
e.dataTransfer.effectAllowed = 'move';