苑苑yaya 2023-12-26 16:07 采纳率: 0%
浏览 6

ondrag被禁,ondragStart和ondragEnd有效

electron+react+tsx项目
ondragStart和 ondragEnd中的代码正常执行,ondrag中的代码不能执行,拖动中鼠标是禁止的标志。(背景是客户端的webview界面上拖动组件到特定区域关闭,webview界面和被拖动的组件不在一个架构中)
求问大家这是什么情况!

  • 写回答

1条回答 默认 最新

  • mls学习小记 2023-12-31 20:46
    关注

    这个问题可能是由于浏览器的默认行为导致的。在拖动元素时,浏览器会默认显示一个禁止拖动的标志(禁止符号)。

    为了避免浏览器默认的拖动行为,你可以通过在 ondrag 事件处理程序中调用 event.preventDefault() 方法来阻止浏览器的默认行为。这样可以确保你的自定义拖动行为能够正常执行。

    你可以尝试在 ondrag 事件处理程序中添加以下代码:

    const handleDrag = (event: React.DragEvent<HTMLDivElement>) => {
      event.preventDefault();
      // 在这里添加你的自定义拖动代码
    };
    

    这样,当你拖动元素时,浏览器的默认拖动行为不会触发,而你的自定义拖动代码将会执行。

    另外,如果你想要在拖动开始和结束时禁用鼠标指针(显示禁止符号),你可以在 ondragStartondragEnd 事件处理程序中添加以下代码:

    const handleDragStart = (event: React.DragEvent<HTMLDivElement>) => {
      // 在拖动开始时禁用鼠标指针
      event.currentTarget.style.cursor = 'not-allowed';
    };
    
    const handleDragEnd = (event: React.DragEvent<HTMLDivElement>) => {
      // 在拖动结束时恢复鼠标指针
      event.currentTarget.style.cursor = 'auto';
    };
    

    这样,在拖动开始时鼠标指针将变为禁止符号,而在拖动结束时将恢复为默认指针。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月26日

悬赏问题

  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 在虚拟机环境下完成以下,要求截图!
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见