mousemove pageX pageY后,Mousedown pageX,pageY不一样,随机发生

时间:2012-02-01 09:15:14

标签: javascript jquery

我想创建一个多选框(在空白处单击并拖动,然后将有一个蓝色div),但点击和拖动不一致,我无法找到问题。

尝试从右下角,右上角或左下角的空白区域拖动,你可以看到浅蓝色的盒子实际上并没有从鼠标向下的位置开始

http://jsfiddle.net/wizztjh/jk4Uc/7/

1 个答案:

答案 0 :(得分:1)

在你的代码中我改变了

$(this).unbind().bind("mousemove" ,function(e){

$(this).bind("mousemove" ,function(e){    

可以看到新代码@ http://jsfiddle.net/jk4Uc/6/

修改

尝试这个http://jsfiddle.net/jk4Uc/10/,你的拖动完全从鼠标开始。我将e.pageX更改为e.clientX

修改

这就像你问@ http://jsfiddle.net/jk4Uc/11/

一样

更改

var oriX = e.clientX, //<== Here
    oriY= e.clientY;  //<== Here
$("<div id='multiselectbox'></div>")
      .appendTo("#canvas")
      .css({
            top:oriY,  //<== Here
            left:oriX  //<== Here
       });

希望这就是你要找的东西。