electron+react+tsx项目
ondragStart和 ondragEnd中的代码正常执行,ondrag中的代码不能执行,拖动中鼠标是禁止的标志。(背景是客户端的webview界面上拖动组件到特定区域关闭,webview界面和被拖动的组件不在一个架构中)
求问大家这是什么情况!
ondrag被禁,ondragStart和ondragEnd有效
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
mls学习小记 2023-12-31 20:46关注这个问题可能是由于浏览器的默认行为导致的。在拖动元素时,浏览器会默认显示一个禁止拖动的标志(禁止符号)。
为了避免浏览器默认的拖动行为,你可以通过在
ondrag事件处理程序中调用event.preventDefault()方法来阻止浏览器的默认行为。这样可以确保你的自定义拖动行为能够正常执行。你可以尝试在
ondrag事件处理程序中添加以下代码:const handleDrag = (event: React.DragEvent<HTMLDivElement>) => { event.preventDefault(); // 在这里添加你的自定义拖动代码 };这样,当你拖动元素时,浏览器的默认拖动行为不会触发,而你的自定义拖动代码将会执行。
另外,如果你想要在拖动开始和结束时禁用鼠标指针(显示禁止符号),你可以在
ondragStart和ondragEnd事件处理程序中添加以下代码:const handleDragStart = (event: React.DragEvent<HTMLDivElement>) => { // 在拖动开始时禁用鼠标指针 event.currentTarget.style.cursor = 'not-allowed'; }; const handleDragEnd = (event: React.DragEvent<HTMLDivElement>) => { // 在拖动结束时恢复鼠标指针 event.currentTarget.style.cursor = 'auto'; };这样,在拖动开始时鼠标指针将变为禁止符号,而在拖动结束时将恢复为默认指针。
。解决 无用评论 打赏 举报