Javascript 无法读取AngularJS中未定义的属性dataTransfer

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(

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(
            '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';