问题 “onDrag”事件未在react.js中触发


<div className="kat-project-user-timeline-drag-indicator-wrapper-bottom"
     onDrag={(event) => {this.dragTask(event)}}>
</div>

dragTask(event) {
  console.log("logic goes here")
}

第一次没有调用该函数。但从第二次起,它工作正常。我尝试使用event.preventDefault(),但它仍然无法正常工作。


12363
2018-06-23 12:54


起源

当你声明: The function is not getting called for the first time,你的逻辑是否通过点击做任何事情?你也在移动(拖动),或者只是按下div而不移动鼠标/手指? - Bonatti
我也遇到了这个问题 - 我第一次拖动一个元素时没有触发拖动事件,但是它会在第二次触发时不会失败。 Amala - 你在同一页面上使用jQuery吗?花了几个小时后我才能找到任何答案,所以现在我试图消除脚本,看是否有任何干扰。 - jacobedawson
@jacobedawson我发现了这个问题。我正在使用一个用于拖放的库,它首次覆盖了我的函数调用。当我删除库时,它工作。我不是在使用jQuery而是使用react.js - Amala James
删除库后问题解决了吗? @AmalaJames,你可以投票把这个问题关闭为不可复制/固定。 - vijayst


答案:


尝试添加 draggable="true" 看看是否有效:

<div draggable="true" className="kat-project-user-timeline-drag-indicator-wrapper-bottom"
 onDrag={(event) => {this.dragTask(event)}}>
</div>

dragTask(event) {
  console.log("logic goes here")
}

12
2018-02-21 19:31