SORU
26 NİSAN 2011, Salı


bir WordPress kullanmak sürüklenebilir sayfa sonra yanlış yerde yardımcı kaydırılan gösterir

Geliştiriyorum iş planlama sistemi draggable droppable jQuery kullanıyorum. Kullanıcılar farklı gün veya bir kullanıcı için işleri sürükleyin ve sonra verileri bir ajax çağrısı kullanarak güncelleştirildi.

Her şey yolunda, aşağı Ana Sayfa (İşleri benim tarayıcı penceresinin altındaki aşan büyük haftalık planlayıcısı görünür) ben kaydırma dışında çalışır. Eğer ben denemek ve sürükleme sürüklenebilir öğe burada, öğe görüntülenir yukarıda benim fare imleci aynı miktarda piksel olarak verdim kaydırılan aşağı.. hover durumu hala gayet iyi çalışıyor ve işlevlerini bang üzerinde ama görünmüyor.

JQuery ve jQuery UI son sürüm kullanıyorum.

Eklemek istiyorum offset fonksiyonu olduğuna eminim ama bunu uygulamak için, ya da daha iyi bir yolu varsa bilmiyorum. Burada .draggable() başlatma kodu:

$('.job').draggable({
  zIndex: 20,
  revert: 'invalid',
  helper: 'original',
  distance: 30,
  refreshPositions: true,
});

Bunu düzeltmek için ne yapabilirim bir fikriniz var mı?

CEVAP
26 NİSAN 2011, Salı


Bu hata ile ilgili bir rapor olabilir, uzunca bir süre oldu: http://bugs.jqueryui.com/ticket/3740

Test ettim her tarayıcı (Chrome, FF4, 9) oluyor. Bu soruna geçici bir çözüm bulmak için birkaç yolu vardır:

1.Css position:absolute; kullanın. Konumlandırılmış öğelerin etkilenmiş gibi görünmüyor.

2.Ana öğe (eğer cesedi ise olay) overflow:auto; ayarlanmış olduğundan emin olun. Benim test bu çözüm pozisyon giderir, ama oto işlevleri devre dışı bırakan gösterdi. Hala fare tekerleği veya ok tuşlarını kullanarak ilerleyebilirsiniz.

3.Düzeltme yukarıdaki hata raporu önerilen el ile uygulamak ve diğer sorunları neden olup olmadığını test thouroughly.

4.Resmi bir düzeltme için bekleyin. JQuery 1.9, ertelendi, ancak birkaç kez geçmişte UI planlanıyor.

5.Eğer her tarayıcıda, etkilenen draggables içine bu kesmek koyabilirsiniz' hesaplamalar doğru olayları oluyor. o kadar eminsin ... ... Farklı tarayıcılar bir çok sadece son çare olarak kullanılması gereken çok ama test için:

$('.drag').draggable({
   scroll:true,
   start: function(){
      $(this).data("startingScrollTop",$(this).parent().scrollTop());
   },
   drag: function(event,ui){
      var st = parseInt($(this).data("startingScrollTop"));
      ui.position.top -= $(this).parent().scrollTop() - st;
   }
});

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DavideoDesign

    DavideoDesig

    24 NİSAN 2006
  • Eric Enge

    Eric Enge

    2 Kasım 2009
  • LiquidMusick

    LiquidMusick

    23 Aralık 2010