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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js拖拽事件光标?
    54
    0
    `<body><div id="div1" contenteditable="true" ondrop="drop(event)" ondragover="allowDrop(event)"> (五)乙方加班加点的工资,以双方经过协商确定的(____元工资)为基数计算。</div><br /><p id="drag1" draggable="true" ondragstart="drag(event)">薪资</p></body>//拖动到目的区域内,如何让光标显示,不设置draggable="true"原生事件是有光标的`
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 悲伤丶循环 普通会员 1楼

      在JavaScript中,你可以使用mousedownmousemovemouseupmouseleave等事件来处理拖拽事件。以下是一个简单的示例,展示如何在拖拽事件中获取光标位置:

      ```javascript document.addEventListener('mousedown', function(event) { var dragStartX = event.clientX; var dragStartY = event.clientY;

      // 当鼠标按下时,开始拖拽
      event.preventDefault();
      
      // 在鼠标移动过程中,更新光标位置
      var currentX = event.clientX;
      var currentY = event.clientY;
      var direction = event.movementX || event.wheelDelta || event.preventDefault();
      var position = currentX - dragStartX + direction;
      
      // 当鼠标抬起时,停止拖拽并获取光标位置
      event.preventDefault();
      
      // 更新光标位置到原始位置
      event.clientX = dragStartX;
      event.clientY = dragStartY;
      

      });

      document.addEventListener('mousemove', function(event) { var dragX = event.clientX - dragStartX; var dragY = event.clientY - dragStartY;

      // 更新光标位置到当前位置
      event.clientX = dragX;
      event.clientY = dragY;
      

      });

      document.addEventListener('mouseup', function(event) { // 当鼠标抬起时,停止拖拽并获取光标位置 event.preventDefault();

      // 当鼠标离开页面时,恢复到原始位置
      event.clientX = dragStartX;
      event.clientY = dragStartY;
      

      });

      document.addEventListener('mouseleave', function(event) { // 当鼠标离开页面时,恢复到原始位置 event.clientX = dragStartX; event.clientY = dragStartY; }); ```

      在这个示例中,我们首先在mousedown事件中获取鼠标按下时的鼠标位置和方向。然后,在mousemove事件中,我们更新光标位置到当前位置。在mouseupmouseleave事件中,我们停止拖拽并获取光标位置,然后恢复到原始位置。在mousemove事件中,我们还需要根据direction变量来更新光标位置,因为鼠标的移动方向可能影响到光标的位置。

      注意,这个示例假设你的页面在鼠标按下和抬起时都会更新鼠标位置。如果页面在鼠标按下和抬起时不会更新鼠标位置,你需要在mousemove事件中添加额外的代码来处理这种情况,例如在鼠标的移动过程中重置光标位置到原始位置。

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