2010-06-18 4 views
3

J'ai une fonction de sélection et glisser. Fondamentalement, vous pouvez sélectionner 3 éléments et les faire glisser ensemble.jQuery Sélectionner et faire glisser Problème de chrome

Le problème est dans Chrome. Si un élément a une propriété "-webkit-transform: rotate", la totalité de l'intervalle saute. C'est étrange parce que ça fonctionne bien dans Firefox.

Vous pouvez voir un exemple de travail à: http://jsfiddle.net/K2EX9/4/ juste faire un essai dans Chrome, sélectionnez avec la souris les 3 éléments et faites-les glisser.

Voici le code:

$('#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}); 
       }); 
      }, 
    }); 

}); 

Merci.

+0

Je ne pense pas que ce soit étrange que cela fonctionne dans Firefox, comme Firefox ne va pas prêter attention à une « -webkit transformée » style quand même. – Pointy

+0

J'avais aussi une -moz-transformer en FF et ça marche. J'ai essayé juste un simple glisser d'un élément pivoté dans Chrome et je reçois le même "saut". Doit être un bug Chrome – Mircea

Répondre

0

Je ne suis pas en mesure de le tester dans IE9 (avoir un mac), mais sur le crochet de fermeture de votre fonction glisser vous avez une virgule qui ne devrait pas être là. Alors que dans la plupart des navigateurs, cela ne causerait pas une erreur fatel, IE est connu pour mourir sur de petites choses.

Edit: vient de sortir quel âge cette question est ... désolé

Questions connexes