2012-01-03 42 views
2

我正在研究一個項目,您可以拖動圖標。當你拖動圖標時,實際的圖標被隱藏,你只需拖動一個佔位符。這在Firefox中效果很好,但在Chrome中並不總是奏效。如果您開始快速拖動,則光標變爲「預防」符號,並且拼盤停止移動。jQuery在Chrome中拖動

演示:http://184.75.250.123/cloud/

代碼:

HTML

<li class="item" draggable="false"> 
    <a class="app"> 
     <img src="[imgurl]" class="icon" draggable="false" /> 
     <span class="name">Facebook</span> 
    </a> 
</li> 

<div id="proxy"></div> 

jQuery的

$('#section-home ul.app-page li.item').live('mousedown', function(){ 
    var item = $(this); 
    $(window).mousemove(function(e){ 
     item.addClass('isdragging'); 
     $('#proxy').css({top: e.pageY+'px', left: e.pageX+'px'}); 
    }); 
}); 
$(window).mouseup(function(){ 
    $('#section-home ul.app-page li.item').removeClass('isdragging'); 
    $(window).unbind("mousemove"); 
}); 

謝謝!

+0

由於某種原因,它似乎很好地隔離。 http://jsfiddle.net/N7vpk/也許這與網頁上的其他內容有衝突。 – 2012-01-03 02:46:17

+0

@JamesMontagne這很奇怪,謝謝你的注意。 – skimberk1 2012-01-03 03:41:32

回答

0

事實證明,我是用<img />標籤作爲背景,因爲圖像可以拖動默認情況下,如果我開始移動鼠標太快了,我開始拖動的背景。

背景圖像:

<div id="background"> 
    <img src="images/calm_main_bg.jpg" /> 
</div> 

我做了什麼來解決它:

<div id="background"> 
    <img src="images/calm_main_bg.jpg" draggable="false" /> 
</div> 

感謝詹姆斯告訴我,它的工作孤立。