मैं अपने कुछ पुस्तकालयों को स्पर्श उपकरणों के साथ बनाने की कोशिश कर रहा हूं, लेकिन मुझे यह जानने में कठिन समय है कि वे कैसे समर्थित हैं और वे कैसे काम करते हैं।
मूल रूप से, 5 स्पर्श कार्यक्रम हैं , लेकिन ऐसा लगता है कि केवल touchstart
घटना (duh) पर मोबाइल ब्राउज़रों के बीच आम सहमति है । मैंने परीक्षण के मामले के रूप में एक फिडेल बनाया है ।
मैंने इसे अपने गैलेक्सी नोट पर एंड्रॉइड 4 के साथ बोर्ड पर परीक्षण किया है, लेकिन आप डेस्कटॉप ब्राउज़र से भी लिंक की जांच कर सकते हैं।
लक्ष्य यह पता लगाने की कोशिश करना है कि नल, डबल नल और लंबे नल को कैसे संभालना है। कुछ भी आकर्षक नहीं।
असल में, यही होता है:
एंड्रॉयड स्टॉक ब्राउज़र नहीं आग स्पर्श इवेंट करता है। यह सिर्फ नल, फायरिंग के साथ माउस क्लिक का अनुकरण करने की कोशिश करता है mousedown
, mouseup
और click
लगातार घटनाओं, लेकिन डबल नल बस में और था पेज ज़ूम आउट करें।
एंड्रॉइड के लिए क्रोम टच स्क्रीन पर उंगली से टच होने पर टचस्टार्ट इवेंट को फायर करता है। यह जल्द ही जारी किया गया है, तो यह तो आग mousedown
, mouseup
, touchend
और अंत में click
घटनाओं।
के मामले में लंबे समय से नल , के बाद आधे सेकंड यह आग के बारे में mousedown
और mouseup
, और touchend
जब उंगली कोई साथ, उठाया है click
अंत में घटना।
यदि आप अपनी उंगली घुमाते हैं , तो यह एक touchmove
घटना को एक-दो बार फायर करता है, तो यह एक touchcancel
घटना को आग लगा देता है , और बाद में कुछ भी नहीं होता है, touchend
उंगली उठाते समय भी घटना नहीं होती है ।
एक डबल टैप ज़ूम इन / आउट फीचर्स को ट्रिगर करता है, लेकिन इवेंट-वार यह कॉम्बो फायर करता है touchstart
- touchevent
दो बार, जिसमें कोई माउस इवेंट नहीं होता है।
फ़ायरफ़ॉक्स Android के लिए सही ढंग से आग touchstart
घटना, और कम नल आग के मामले में mousedown
, mouseup
, touchend
और click
बाद में।
लंबे नल के मामले में , यह आग लगाता है mousedown
, mouseup
और अंत में touchend
घटना। यह इन चीजों के लिए Chrome की ही तरह है।
लेकिन अगर आप अपनी उंगली हिलाते हैं , अगर touchmove
लगातार आग लग जाती है (जैसा कि कोई उम्मीद कर सकता है) लेकिन यह घटना को आग नहींtouchleave
देता है जब उंगली तत्व को श्रोता के साथ छोड़ देती है, और touchcancel
जब उंगली ब्राउज़र व्यूपोर्ट से बाहर निकल जाती है तो वह आग नहीं लगाती है ।
के लिए डबल नल , यह सिर्फ क्रोम की तरह व्यवहार करता है।
ओपेरा मोबाइल क्रोम और फ़ायरफ़ॉक्स का एक ही काम करता है एक छोटे से नल के लिए, लेकिन लंबे प्रेस के मामले में कुछ प्रकार की साझाकरण सुविधा को सक्रिय करता है जिसे मैं वास्तव में अक्षम करना चाहता हूं। यदि आप अपनी उंगली, या डबल टैप करते हैं, तो यह फ़ायरफ़ॉक्स की तरह ही व्यवहार करता है।
क्रोम बीटा सामान्य रूप से छोटे नल के लिए करता है, लेकिन लंबे समय तक नल के मामले में यह mouseup
घटना को आग नहीं देता है, बस touchstart
, फिर mousedown
आधे सेकंड के बाद, फिर touchend
जब उंगली उठा ली जाती है। जब उंगली को हिलाया जाता है, तो अब यह फ़ायरफ़ॉक्स और ओपेरा मोबाइल की तरह व्यवहार करता है।
दोहरे नल के मामले में , यह ज़ूम आउट करते समय टच इवेंट्स को फायर नहीं करता है , लेकिन केवल ज़ूम इन करते समय।
क्रोम बीटा सबसे अजीब व्यवहार दिखाता है, लेकिन मैं वास्तव में शिकायत नहीं कर सकता क्योंकि यह बीटा है।
सवाल यह है : स्पर्श उपकरणों के सबसे आम ब्राउज़रों में छोटे नल, लंबे नल और डबल नल का पता लगाने की कोशिश करने का एक सरल और तरीका है?
बहुत बुरा मैं इसे आईओएस उपकरणों पर सफारी, या विंडोज फोन 7 / फोन 8 / आरटी के लिए IE के साथ परीक्षण नहीं कर सकता, लेकिन अगर आप में से कुछ कर सकते हैं, तो आपकी प्रतिक्रिया बहुत सराहना की जाएगी।