स्पर्श करें मैंने कुछ समय के लिए टच इवेंट्स का उपयोग करना शुरू किया, लेकिन मैं बस एक समस्या पर ठोकर खाई। अब तक, मैंने जांच की है कि स्पर्श क्षमताओं का समर्थन किया जाता है, और उसके आधार पर चुनिंदा चुनिंदा घटनाएं होती हैं। इस तरह:माउस के लिए ब्राउज़र क्षमताओं और चुनिंदा घटनाओं का पता लगाना और
if(document.ontouchmove === undefined){
//apply mouse events
}else{
//apply touch events
}
हालांकि, मेरी स्क्रिप्ट्स ने मेरे कंप्यूटर पर क्रोम 5 (जो वर्तमान में बीटा) में काम करना बंद कर दिया है। मैंने इसे थोड़ा सा शोध किया, और जैसा कि मैंने उम्मीद की थी, क्रोम 5 में (पुराने क्रोम, फ़ायरफ़ॉक्स, आईई, आदि के विपरीत) document.ontouchmove
अब undefined
लेकिन null
नहीं है।
पहले मैं एक बग रिपोर्ट जमा करना चाहता था, लेकिन फिर मुझे एहसास हुआ: ऐसे उपकरण हैं जिनमें माउस और स्पर्श क्षमता दोनों हैं, इसलिए यह स्वाभाविक हो सकता है, शायद क्रोम अब इसे परिभाषित करता है क्योंकि मेरा ओएस दोनों प्रकार की घटनाओं का समर्थन कर सकता है ।
तो समाधान आसान लगता है: दोनों घटना प्रकारों को लागू करें। सही?
वैसे समस्या अब मोबाइल पर होती है। पिछड़े संगत और समर्थन स्क्रिप्ट्स के लिए जो केवल माउस ईवेंट का उपयोग करते हैं, मोबाइल ब्राउज़र उन्हें भी (स्पर्श पर) आग लगाने का प्रयास कर सकते हैं। तो फिर माउस और टच इवेंट दोनों सेट के साथ, एक निश्चित हैंडलर को हर बार दो बार बुलाया जा सकता है।
इस तक पहुंचने का तरीका क्या है? चुनिंदा घटनाओं की जांच करने और लागू करने का कोई बेहतर तरीका है, या क्या मुझे उन समस्याओं को अनदेखा करना चाहिए जो ब्राउज़र हो सकता है यदि ब्राउज़र कभी-कभी स्पर्श और माउस दोनों घटनाओं को आग लगते हैं?
मैं परीक्षण करने में असमर्थ हूं, लेकिन एक टच इवेंट पर झूठा लौटा रहा हूं, इसके डिफ़ॉल्ट व्यवहार को रद्द कर देगा ('पिछड़ा संगत' माउस इवेंट फायर कर रहा है?) – gnarf