账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    react中jquery-ui的draggable()失效问题
    39
    0

    js:

    $('#模块' + numi).draggable();
    $('#模块' + numi).resizable();

    之前写的代码没问题,放到react后出现draggable()失效的问题,resizable()依然正常,请问这是什么原因?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 不想再這樣 普通会员 1楼

      在React中使用jQuery UI的draggable()函数,可能会遇到一些问题。以下是一些可能的原因和解决方法:

      1. 没有正确安装jQuery UI库:在你的React项目中,确保你已经安装了jQuery UI库。如果没有安装,可以使用npm或yarn来安装。

      如果使用的是npm,你可以运行以下命令: npm install --save-dev jquery-ui 如果使用的是yarn,你可以运行以下命令: yarn add --dev jquery-ui

      1. jQuery UI版本与React版本不兼容:jQuery UI是一个JavaScript库,它依赖于jQuery。在你的React项目中,确保你的jQuery版本与jQuery UI版本兼容。你可以查看jQuery UI的官方网站,了解最新的版本信息。

      2. 配置问题:在使用draggable()函数时,你可能需要设置一些选项。例如,你可以设置draggable()函数的option属性来设置拖放行为。如果没有正确设置这些选项,draggable()函数可能会失效。

      例如,你可以设置draggable()函数的option属性如下: draggable: { ondragstart: function(event) { event.dataTransfer.setData('text/plain', 'Hello, world!'); }, ondragover: function(event) { event.preventDefault(); }, ondragend: function(event) { event.preventDefault(); } } 这样,当用户开始拖动元素时,event.dataTransfer.setData('text/plain', 'Hello, world!')将被设置为元素的文本,阻止默认的拖放行为。

      1. 鼠标焦点问题:在某些情况下,draggable()函数可能会失效,因为鼠标焦点没有正确地切换到元素上。你可以使用isDocumentRoot()函数来检查鼠标焦点是否在文档的根元素上。

      例如,你可以使用以下代码来检查鼠标焦点是否在文档的根元素上: function isDocumentRoot(event) { return event.target === document.documentElement; } 如果鼠标焦点在文档的根元素上,那么draggable()函数将正常工作。否则,它将不会正常工作。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部