मैं अपने कुछ पुस्तकालयों को स्पर्श उपकरणों के साथ बनाने की कोशिश कर रहा हूं, लेकिन मुझे यह जानने में कठिन समय है कि वे कैसे समर्थित हैं और वे कैसे काम करते हैं।
मूल रूप से, 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 के साथ परीक्षण नहीं कर सकता, लेकिन अगर आप में से कुछ कर सकते हैं, तो आपकी प्रतिक्रिया बहुत सराहना की जाएगी।
