我的触控功能定义是
onDragStart(ev,id) {
console.log('dragstart: ',id)
ev.dataTransfer.setData("id",id)
}
onTouchStart(ev,id) {
console.log('touchstart: ',id)
ev.dataTransfer.setData("id",id)
}
此处控制台正确提供touchstart: 9824357
,但下一行会显示Cannot read property 'setData' of undefined
。此代码适用于onDragStart。
我的div是
<div
onDragStart={(e)=>this.onDragStart(e, id)}
onTouchStart={(e)=>this.onTouchStart(e, id)}
draggable
className="draggable">
</div>
我该如何解决这个问题?我应该为触摸事件添加或声明更多内容吗?
答案 0 :(得分:1)
touchstart
dom事件没有dataTransfer
属性。这不是一个拖放事件。要解决此问题,请删除第ev.dataTransfer.setData("id",id)
行,因为触摸事件不会发生DataTransfer
。