SORU
17 EKİM 2011, PAZARTESİ


belge.ontouchmove ve iOS 5 üzerinde kaydırma

iOS 5 güzel şeyler bir dizi/Web Uygulamaları JavaScript getirdi. Bunlardan biri geliştirilmiş kaydırma. Eğer eklerseniz

-webkit-overflow-scroll:touch;

button öğesinin stil, kayan güzel bir parmak ile çalışır.

Ama bir sorun var. Kaydırma tüm ekran önlemek için, web apps bu kod satırı eklemek önerilir:

document.ontouchmove = function(e) {e.preventDefault()};

Bu, ancak, yeni kaydırma devre dışı bırakır.

Herkes yeni bir button içinde kaydırma, ama bütün formu kaydırmak için izin vermek için iyi bir yol var mı?

CEVAP
17 EKİM 2011, PAZARTESİ


Veya preventDefault denir mi seçerek kaydırma izin vermek gerekir. E. g.,

document.ontouchmove = function(e) {
    var target = e.currentTarget;
    while(target) {
        if(checkIfElementShouldScroll(target))
            return;
        target = target.parentNode;
    }

    e.preventDefault();
};

Alternatif olarak, bu belge seviyeye ulaşmasını olay engelleyerek çalışabilir.

elementYouWantToScroll.ontouchmove = function(e) {
    e.stopPropagation();
};

EditHerkes daha sonra okumak için, başka cevap çalışır ve daha kolay yoludur.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • PoreoticsHD

    PoreoticsHD

    22 NİSAN 2010
  • Sparta Spartanutul

    Sparta Spart

    18 HAZİRAN 2013
  • TV nEW

    TV nEW

    25 AĞUSTOS 2012