2

我正在编写代码以在用户手动拖动它们时将拖动捕捉到正确的位置。

我正在尝试使用 .onmousedown() 事件来获取当用户将鼠标放在拖动条上时的位置并比较 .onmouseup() 事件上的位置。

对于鼠标按下:

var dragBarPosBefore = 0;
$(document).mousedown(function () {   
  dragBarPosBefore = ($(".jspPane").position().left) * -1;;  
  console.log(dragBarPosBefore);
});

现在mouseup:

var dragBarPos = 0;
$(document).mouseup(function () {
     dragBarPos = ($(".jspPane").position().left) * -1; 
     console.log(dragBarPos);
});

然后我比较它们。但是,当我单击拖动条时,只有 .mouseup() 函数起作用。只有当我点击 DRAGBAR 之外的任何其他位置时,mousedown 才有效。

有谁知道原因以及如何解决这个问题?非常感谢!

4

1 回答 1

0

当您执行 $(document).mousedown 时,您将在整个文档上绑定一个事件。这就是为什么当您单击其他地方时触发事件的原因。这是你的意图吗?

尝试:

$('#dragBar').mousedown(function ...)
于 2013-07-30T19:56:23.347 回答