Перетаскивание jQuery в Chrome - PullRequest
2 голосов
/ 03 января 2012

Я работаю над проектом, где вы можете перетаскивать иконки. При перетаскивании значка фактический значок скрыт, а вы просто перетаскиваете заполнитель. Это прекрасно работает в Firefox, но не всегда хорошо работает в 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");
});

Спасибо!

1 Ответ

0 голосов
/ 03 января 2012

Оказывается, я использовал тег <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>

Спасибо Джеймсу за то, что он сказал мне, что он работал изолированно.

...