2012-12-18 10 views
25

Bu, birisinin bana aptal olduğumu söylemesi için cevap vermesini umduğum bir durum. Ancak jQueryUI sürükle/bırak işleminin dokunmatik cihazlarla çalışmadığından şaşmaya devam ediyorum. Ben hepsini test etmedim ama son bir yıl içinde iphone \ ipad \ android 2, 3 & 4 denedim ve hiçbir şey. Sadece yeni sürümü yeni bir Android'de denedim. Hala hiçbirşey. Bana inanmayın, bir mobil cihazdaki demo sayfasını ziyaret edin ve drag \ drop örneklerini kullanmaya çalışın. Hiçbir şey değil.jQueryUI nasıl açılır dokunmatik cihazlar ile sürükle/bırak

Burada teknik bir sorun veya temel uyumsuzluk var mı? Yazmaya değmez o kadar kolay bir düzeltme? JQuery devler mobil cihazları kullanmıyor mu? Burada ve orada Stack Overflow yayınlanan "düzeltmeler" gördük ama hepsi "hacks" ve çalıştığım tüm olanlar işe yaramıyor.

Ben şaşırdım. Birisi bu konuda biraz ışık tutabilir mi?

+0

Bence bu daha çok hedef kitle sorunudur. jQuery UI, orijinal olarak mobil cihazları işlemek için yazılmadı. JQuery Mobile ile bile iyi çalmaz. mobil cihazlarda bazı bölümleri hala iyi çalışıyor olabilir, ancak sürükleme ile ilgisi olan her şey başarısız olacaktır. –

+0

[jQuery UI kaydırıcısı Dokunma ve Sürükle/Bırak desteği Mobil aygıtlarda] olası bir kopyası (http://stackoverflow.com/questions/13808663/jquery-ui-slider-touch-drag-drop-support-on-mobile-devices) – Seth

cevap

57

Sadece geçerli jQuery UI kodunuzun dokunma olaylarıyla çalışmasını istiyorsanız, jQuery UI Touch Punch maymun yamasını kullanabilirsiniz.

Tek "teknik sorun veya çekirdek uyumsuzluğu", jQuery UI (1.x)'un yalnızca olayları değil, yalnızca olayları değil, olayları dinlemesini dinlemesidir (tarihsel nedenden dolayı @ ScottGonzales'in yanıtına bakın). Yukarıdaki jQuery dokunma yumruğu, bu değişikliği yapar. Hatta bu sayfadaki jQuery UI örneklerinden bazılarını deneyebilir ve çalışırlar. Genel olarak, Touch Punch'ın kullanılması şu anda kabul edilen çözümdür.

0

dışarı jQTouch

Bu, masaüstü ve dokunmatik cihazlar arasında olay ihtiyaçları gidermek yardımcı olan bir jQuery eklentisi var kontrol edin.

25

jQuery UI'nin neden dokunmatik cihazları desteklemediğinin ardında uzun bir geçmiş var, ancak Touch Event'in standart olmayan WebKit'e özgü bir uygulama olduğu gerçeğine dayanıyor. O zaman, gelecek kasvetli görünüyordu. Apple, kimsenin yaklaşmak istemediği patentler aldı; Sonuç olarak, Mozilla hiç dokunmayan akışlarla kendi dokunma olay sistemini hayata geçirdi. Microsoft ve Opera'nın ne yapacağı belli değildi. Paul Bakaus (jQuery UI'nin yaratıcısı) wanted to land iPhone support 4 years ago. Resmi bir standart beklemek istedim.

Zaman geçtikten sonra, Mozilla dokunmatik olaylarını terk etti ve Microsoft kendi işaretçi olay sistemini uyguladı. W3C, Touch Events'i standartlaştırmak ve Apple patentlerini araştırmak için bir Çalışma Grubu kurdu. Touch Events Çalışma Grubu bir öneri yayınladı ve dağıtıldı. Microsoft nihayetinde İşaretçi Etkinlikleri standardize etmek için bir teklif sunmuştur ve şimdi bir W3C İşaretçi Etkinlikleri Çalışma Grubu bulunmaktadır.

Şu anda jQuery UI 2.0 paketinin bir parçası olacak olan jQuery UI etkileşimlerinin bir device-agnostic rewrite üzerinde çalışıyoruz. O zamana kadar jQuery UI Touch Punch'u kullanabilirsiniz.

Bu yılın başlarında, Touch Events'in etrafındaki tarihlerden bazılarını ve Pointer Olaylarının neden daha iyi bir gelecek sağladığını yazdım. Bu konuda jQuery blog adresinden okuyabilirsiniz.

+8

Bu sorunla ilgili herhangi bir güncelleme var mı? – Lombas

İlgili konular