2012-02-01 41 views
0

我想創建一個多選框(在空白處點擊並拖動,然後會有一個藍色的div),但點擊和拖動不一致,我不能找出問題所在。Mousedown pageX,pageY在鼠標移動pageX pageY後不一樣

試圖從一個空的空間是圍繞右下,右上或左下拖動,你可以看到淡藍色的盒子didnt實際上從點開始在鼠標按下

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

+0

沒關係http://jsfiddle.net/jk4Uc/6/ – 2012-02-01 09:20:51

+1

究竟是什麼問題?說它「不一致」不是很具描述性或非常有幫助。你在經歷什麼(什麼時候),這不是你所期望或想要的? – 2012-02-01 09:38:33

+1

它對我來說看起來相當令人印象深刻。 – 2012-02-01 09:41:48

回答

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 
     }); 

希望工作恰恰這是你在找什麼。

+0

這是我嘗試通過添加解除綁定,因爲我懷疑它使用舊的oriX和oriY。 – wizztjh 2012-02-01 10:41:49

+0

這就是你要找的答案嗎? – 2012-02-01 11:30:40

+0

感謝您的幫助兄弟!但是,當從畫布右上方拖拽仍然寬度和高度關閉時,我仍然無法識別問題 – wizztjh 2012-02-01 14:02:10

相關問題