javascript - 使用 jQuery 单击并拖动

标签 javascript jquery

我试图让一个元素在用户点击拖动鼠标时做出响应。

我需要响应在每个 mousemove 发生时发生,而单个 mousedown 事件正在发生。

我正在使用 jQuery,但我也对纯 JS 实现持开放态度。这是我尝试过的:

$('.element').on('mousedown', function (e) {
  $('.element').on('mousemove', function (e) {
    console.log("response");
  });
  $('.element').off('mousedown');
});

这行得通,但在我单击一次后它会起作用,即使我不继续执行 mousedown 也是如此。

最佳答案

Hook mouseup 事件并在那里解除 mousemove 的绑定(bind):

$('.element').on('mousedown', function (e) {
    $('.element').on('mousemove', function (e) {
        console.log("response");
    });
}).on("mouseup", function(e) {
    $('.element').off('mousemove');
});

关于javascript - 使用 jQuery 单击并拖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24766880/

相关文章:

javascript - Jquery 事件不起作用

javascript - 如何让我的选项卡 100% 位于顶部?

全局变量的javascript提升

javascript - 如何在 openstreetmap 中编辑数据层可见性的缩放级别

c# - asp.net 从 jquery 代码生成函数

javascript - <a href PreventDefault 每两次都会起作用

javascript - 对 JQuery 选择进行分组并对其执行操作?

jquery - 如何使用 addClass 和 removeClass 在类之间切换?

javascript - 组合两个输入事件

Javascript链表删除问题