न तो माउस और न ही पॉइंटर होने पर, ऑन-स्क्रीन तत्वों को घुमाने की अवधारणा स्पर्श उपकरणों के लिए वास्तव में लागू नहीं होती है। जावास्क्रिप्ट होवर इवेंट नेविगेशन या अन्य उद्देश्यों पर निर्भर कई वेबसाइटों के साथ, कुछ स्पर्श डिवाइस एक ही टैप पर निकाले जाने के लिए mouseenter
लागू करता है। यदि कोई ईवेंट हैंडलर click
से भी जुड़ा हुआ है तो यह केवल तत्व पर दूसरी टैप पर उठाया जाएगा।स्पर्श डिवाइस पर jQuery होवर (माउसएन्टर, माउसलेव) को अनदेखा करें
jQuery के hover()
समारोह आंतरिक रूप से उपयोग करता है के बाद से mouseenter
और mouseleave
, दोनों hover()
और click()
पंजीकरण के साथ तत्वों बाद को गति प्रदान करने के लिए दो नल की आवश्यकता है। कई उपयोग मामलों के लिए, यह वही है जो आप करना चाहते हैं। हालांकि, उन अनुप्रयोगों में जहां hover()
हैंडलिंग केवल घुमावदार तत्व पर जोर (टूलटिप, चमक, इत्यादि) जोड़ता है, यह ईवेंट को सभी एक साथ टच डिवाइस को छोड़ने के लिए और अधिक समझ सकता है, onclick
हैंडलर पर स्ट्रेट जा रहा है।
मुझे पता है कि विशेष रूप से touchstart
और touchend
घटनाओं के लिए कैसे सुनना है, जिससे मुझे स्पर्श उपयोगकर्ता अनुभव को तैयार करने की अनुमति मिलती है। यह मेरी समस्या का एक वैध समाधान है, लेकिन मुझे उम्मीद है कि इसके आसपास एक "आसान" तरीका हो सकता है। मैं अपने हस्ताक्षर में hover()
की तरह एक विधि की कल्पना कर रहा हूं, केवल उसी तरीके से लागू किया गया है जो केवल गैर-स्पर्श उपकरणों पर उपलब्ध ईवेंट हैंडलर को जोड़ता है।
क्या jQuery में ऐसी विधि है? कोई प्लगइन्स? या मैं यहाँ कुछ दिख रहा हूँ?
व्यवहार iPad, iPhone और कुछ एंड्रॉयड हैंडसेट पर पुष्टि की।
भागो एक डेस्कटॉप बनाम स्पर्श डिवाइस पर इस JsFiddle demo देखने के लिए कि मैं क्या बात कर रहा हूँ।
कोई निश्चित नहीं है कि यह क्यों चुना जाता है, क्या आप दोनों विकल्पों के साथ डिवाइस पर होवर ईवेंट नहीं खोलेंगे? – Aaron