2012-01-03 45 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> 

感谢詹姆斯告诉我,它的工作孤立。