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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    如何避免缩放事件和拖放事件同时被触发?
    28
    0

    使用jquery-UI给一个div元素绑定缩放事件,同时使用Jsplumb给div绑定了拖放事件,结果在使用鼠标缩放的同时触发了拖放,该如何避免这个情况?

    试过在触发缩放事件后使用toggleDraggable解除拖放的绑定,然后结束缩放后在恢复绑定,但是行不通。

    另外事件委托方法能在这种场景下使用么,特别是这种不使用原生js而是调用了不同库方法的情况?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 猫与蔷薇 普通会员 1楼

      在JavaScript中,可以通过以下方式来避免缩放事件和拖放事件同时被触发:

      1. 使用onmousedownonmouseup事件来处理拖放事件。这两个事件分别在鼠标按下和释放时触发,你可以在这两个事件中分别添加拖放操作的代码。

      2. 使用ondragstartondragend事件来处理拖放事件。这两个事件分别在拖放开始和结束时触发,你可以在这两个事件中分别添加拖放操作的代码。

      3. 在拖放操作完成时,使用ondragend事件,这个事件将触发,可以在这个事件中清理拖放操作的代码。

      4. 使用ondrop事件来处理文件被移动或删除的事件。这个事件在文件被移动或删除时触发,你可以在这个事件中清理拖放操作的代码。

      以下是一个示例:

      ```javascript var reader = document.createElement('a');

      reader.href = 'https://example.com';

      reader.download = 'download.pdf';

      reader.click();

      document.body.appendChild(reader);

      var dragstart = readerdragstart; var dragend = readerdragend;

      readerdragstart = function(event) { // 拖放开始 };

      readerdragend = function(event) { // 拖放结束 };

      reader.drop = function(event) { // 文件被移动或删除 }; ```

      在这个示例中,我们使用了dragstartdragend事件来处理拖放操作,当文件被移动或删除时,我们使用了drop事件来清理拖放操作的代码。

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