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

  • AmeriiK_HD

    AmeriiK_HD

    16 AĞUSTOS 2012
  • UnboxTechnology

    UnboxTechnol

    20 Ocak 2011
  • Vsauce

    Vsauce

    30 Temmuz 2007

İLGİLİ SORU / CEVAPLAR