【问题标题】:jQuery Select and Drag Chrome problemjQuery 选择并拖动 Chrome 问题
【发布时间】:2010-06-18 11:44:57
【问题描述】:

我有一个选择和拖动功能。基本上你可以选择 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});
                });
            },
    });

});

谢谢。

【问题讨论】:

  • 我认为它在 Firefox 中工作并不奇怪,因为 Firefox 无论如何都不会关注“-webkit-transform”样式。
  • 我在 FF 中也有一个 -moz-transform 并且它可以工作。我已经尝试在 Chrome 中简单地拖动一个旋转的元素,我得到了相同的“跳跃”。一定是 Chrome 错误

标签: jquery draggable


【解决方案1】:

我无法在 IE9(有 mac)中对其进行测试,但在拖动功能的右括号中,您有一个不应该存在的逗号。虽然在大多数浏览器中这不会导致致命错误,但 IE 会因小事而死。

编辑:刚刚发布了这个问题的年龄...抱歉

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-11
    • 2013-01-16
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    相关资源
    最近更新 更多