SORU
10 AĞUSTOS 2011, ÇARŞAMBA


Nasıl 'touchstart' ve ' ' I' olayları bağlamak için ama ikisi de cevap değil mi?

Çeşitli cihazlar üzerinde çalışacak mobil bir web sitesi üzerinde çalışıyorum. Bana şu anda bir baş ağrısı BlackBerry veriyor.

Hem klavye tıklama desteği gibi olaylar dokunmak gerekir.

İdeal sadece kullanmak istiyorum:

$thing.click(function(){...})

ama karşılaşıyoruz sorunu bu blackberry cihazların bazıları dokunmatik zaman çok can sıkıcı bir gecikme bir tıklama tetikleme var.

İlaç yerine touchstart kullanmak için:

$thing.bind('touchstart', function(event){...})

Ama nasıl her iki olay, ama sadece tek el atış bağlama hakkında gidiyorsun? Ben hala klavye aygıtları için tıklayın olay lazım, ama tabii ki, eğer dokunmatik bir cihaz kullanıyorum eğer tıklatın olay tetikleme istemiyorum.

Bonus soru: "yine de bunu yapmak için ve ayrıca bile touchstart bir olay yok tarayıcılar uyum? Bu araştırma, BlackBerry OS5 touchstart desteklemiyor gibi görünüyor bu yüzden de tarayıcı için tıklayın olaylar güvenmek gerekir.

EK:

Belki daha kapsamlı bir soru

JQuery ile aynı bağlama ile/dokunmatik etkileşimler ve fare etkileşimi hem işlemek için tavsiye mümkün mü?

İdeal olarak, cevabım Evet. Değilse, bazı seçenekler var:

1) WÜRFL aygıt bilgisi almak için kullanıyoruz yani cihazların kendi matris oluşturabilir. Cihaza bağlı olarak, touchstart VEYA ' I kullanacağız.

2) JS ile tarayıcı dokunmatik desteği (bu konuda biraz daha araştırma yapmak istiyorum, ama bunu yapmak mümkün mü gibi) Algılar.

HEM destekleyen cihazlar ne olacak. ancak yine de bir sorun kalıyor: Biz destek telefonları (yani Yapıya ve Böğürtlen) hem de bazı dokunmatik ekranlar varveklavyeler. Yani bu bana tam daire esas sorumuza geri alır...orada bir zamanlar bir şekilde hem de izin vermek için bir yol var mı?

CEVAP
11 AĞUSTOS 2011, PERŞEMBE


Güncelleme: Bağlama "" fare olayları arasında bir seçim yapmak yerine & dokunma. işaretçi sağlar Pointer Events Polyfill jQuery proje kontrol


Hem bağlamak, ama işlevi sadece bir kere ateşledi 100 MS civarında başına kadar çok bayrak olun.

var flag = false;
$thing.bind('touchstart click', function(){
  if (!flag) {
    flag = true;
    setTimeout(function(){ flag = false; }, 100);
    // do something
  }

  return false
});

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bethliebert

    bethliebert

    23 EKİM 2008
  • Kat Krazy

    Kat Krazy

    12 Kasım 2010
  • Toddler Fun Learning

    Toddler Fun

    8 ŞUBAT 2013

İLGİLİ SORU / CEVAPLAR