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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js拖拽获取光标位置?
    35
    0
    在线demo需求:拖拽标签,然后将标签插入到光标处手动点击-window.getSelection()获取光标位置正常拖拽时-window.getSelection()获取不到有什么解决方案吗
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 樱の花が舞う 普通会员 1楼

      在JavaScript中,你可以使用onmousedownonmousemove事件来实现拖拽功能,并使用getBoundingClientRect()方法来获取鼠标在文档中的位置。

      以下是一个简单的示例:

      ```javascript // 获取文档 var doc = document.documentElement;

      // 拖拽事件监听器 doc.addEventListener('mousedown', function(e) { // 获取鼠标在文档中的位置 var rect = e.clientX - doc.clientLeft; var rect = rect / (doc.clientWidth - doc.clientWidth) * 100;

      // 设置拖拽开始的坐标 var start = rect;

      // 拖拽事件监听器 doc.addEventListener('mousemove', function(e) { // 更新鼠标在文档中的位置 var rect = e.clientX - doc.clientLeft; var rect = rect / (doc.clientWidth - doc.clientWidth) * 100;

      // 更新拖拽的坐标
      var target = e.clientX - doc.clientLeft;
      var target = target / (doc.clientWidth - doc.clientWidth) * 100;
      
      // 如果在目标坐标处,将坐标添加到拖拽结束的坐标
      if (target >= start && target <= end) {
        var end = target;
      }
      

      }); }); ```

      这个示例监听了mousedown事件,并在mousemove事件中更新鼠标在文档中的位置。如果鼠标在目标坐标处(即目标坐标大于等于开始坐标,小于等于结束坐标),则将目标坐标添加到拖拽结束的坐标。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部