[英]How can I create an event with a dataTransfer property?
我正在嘗試編寫一個測試,以檢查我的dragstart事件偵聽器是否在e.dataTransfer上設置了屬性。
我可以手動創建和調度MouseEvent:
var event = new MouseEvent('dragstart');
html[0].dispatchEvent(event);
但是event.dataTransfer為null,因此我得到了null引用異常。
我嘗試過手動設置屬性:
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.