3
我有一个选择和拖动功能。基本上你可以选择3个元素并将它们拖到一起。jQuery选择并拖动Chrome问题
问题出在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-变换”无论如何。 – Pointy 2010-06-18 12:43:21
我在FF中也有一个-moz-transform,它起作用。我已经尝试过在Chrome中对旋转元素的简单拖动,并获得相同的“跳转”。必须是Chrome的错误 – Mircea 2010-06-18 12:49:23