【问题标题】:correct way to initialize CustomEvent dataTransfer object in javascript [duplicate]在javascript中初始化CustomEvent dataTransfer对象的正确方法[重复]
【发布时间】:2017-04-17 10:33:25
【问题描述】:

我没有在自定义事件中获取 dataTransfer.types 虽然在手动拖放中,类型被设置为 types: Array(1) 。有人可以在初始化这个 dataTransfer 对象时纠正我吗?(浏览器:chrome)

 function createCustomEvent(type) {
 var event = new CustomEvent("CustomEvent", {"cancelable": true})
    event.initCustomEvent(type, true, true, null);
    event.dataTransfer = {
        data: {
        },
        setData: function(type,val) {
            this.data[type] = val
        },
        getData: function(type) {
            return this.data[type]
        },
        dropEffect: 'move',
        effectAllowed:'move',
        types: [],
        items: {},
        files:{}

    }

    return event
}

more details here

【问题讨论】:

    标签: javascript html drag-and-drop custom-events


    【解决方案1】:

    更改了集合数据,以便它也将数据类型添加到类型数组中,如下所示:

            setData: function(type,val) {
                this.data[type] = val
                this.types[0] = type
            }
    

    这解决了这个问题,现在发生了正确的拖放,它使用了内部使用 html5 dnd api 的角度 js 拖放列表

    【讨论】:

      猜你喜欢
      • 2015-03-16
      • 2023-02-22
      • 2016-12-08
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      • 2016-02-26
      • 2017-11-01
      • 1970-01-01
      相关资源
      最近更新 更多