我的触摸功能定义是
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>
我该如何解决这个问题?我应该为触摸事件添加或声明更多内容吗?
最佳答案
touchstart
dom 事件没有 dataTransfer
属性。这不是拖放事件。要解决此问题,请删除 ev.dataTransfer.setData("id",id)
行,因为没有 DataTransfer
发生在触摸事件上。
关于reactjs - 无法读取未定义的属性 'setData' - react 触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50656084/