代码之家  ›  专栏  ›  技术社区  ›  Mircea

jQuery选择并拖动Chrome问题

  •  3
  • Mircea  · 技术社区  · 16 年前

    我有一个选择和拖动功能。基本上你可以选择3个元素并将它们拖到一起。

    问题在于Chrome。如果一个元素具有“-webkit transform:rotate”适当性,则整个跨度会跳起来。这很奇怪,因为它在Firefox中的分叉很好。

    您可以在以下位置看到一个工作示例: http://jsfiddle.net/K2EX9/4/ 只需在Chrome中尝试一下,用鼠标选择3个元素并拖动它们。

    以下是代码:

    $('#selectable1').bind('dragSetup', function() {
    
      var selected = $([]), offset = {top:0, left:0};
    
        $('#selectable1 span.drag').draggable({
                    start: function(ev, ui) {
                    $(this).is("#selectable1 span.ui-selected") || $("#selectable1 span.ui-selected").removeClass("ui-selected");
                    selected = $("#selectable1 span.ui-selected").each(function() {
                    var el = $(this);
                    el.data("offset", el.offset());
    
                    });
    
                    offset = $(this).offset();
    
                },
    
                drag: function(ev, ui) {
    
                    var dt = ui.position.top - offset.top, dl = ui.position.left - offset.left;
    
                    selected.not(this).each(function() {
                        var el = $(this), off = el.data("offset");
                        el.css({top: off.top + dt, left: off.left + dl});
                    });
                },
        });
    
    });
    

    非常感谢。

    1 回复  |  直到 16 年前
        1
  •  0
  •   Paramount    15 年前

    我无法在IE9中测试它(有mac),但在拖动函数的右括号中有一个不应该出现的逗号。虽然在大多数浏览器中,这不会导致fatel错误,但IE被认为会因小事而死亡。

    编辑:刚刚发布了这个问题有多老。。。很抱歉