gpt4 book ai didi

javascript - 如何创建具有 dataTransfer 属性的事件?

转载 作者:行者123 更新时间:2023-11-30 06:53:44 24 4
gpt4 key购买 nike

我正在尝试编写一个测试来检查我的 dragstart 事件监听器是否在 e.dataTransfer 上设置了属性。

我可以手动创建和调度 MouseEvent:

var event = new MouseEvent('dragstart');
html[0].dispatchEvent(event);

但是 event.dataTransfer 为空,所以我得到了空引用异常。

我试过手动设置属性:

event.dataTransfer = {};

我已经尝试使用属性描述符设置属性:

var event = new MouseEvent('dragstart');
Object.defineProperty(event, "dataTransfer", {
configurable: true,
writable: true,
value : {}
});

但都没有用。

最佳答案

这对我有用。

var dataTransferObj = { setData: function (val) { this.data = val }}
var event = new CustomEvent('dragover');
event.dataTransfer=dataTransferObj
target.dispatchEvent(event);

关于javascript - 如何创建具有 dataTransfer 属性的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21459937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com