मैं एक मोबाइल वेबसाइट बना रहा हूं जो जावास्क्रिप्ट स्पर्श घटनाओं का उपयोग करता है। चीजें आईओएस सफारी और एंड्रॉइड के लिए क्रोम में ठीक काम करती हैं, लेकिन स्टॉक एंड्रॉइड ब्राउज़र (संस्करण 4.1.2) मुझे परेशानी दे रहा है।एंड्रॉइड ब्राउज़र में टचकैंकल की गोलीबारी को अक्षम करें
एक स्पर्श प्रक्रिया के दौरान, touchstart
और touchmove
घटनाओं को अपेक्षित कहा जाता है। हालांकि, touchmove
हैंडलर द्वारा किए गए कार्यों में से एक कार्यकाल touchcancel
ईवेंट को समय-समय पर ट्रिगर करने लगता है। (मुझे यकीन नहीं है कि यह महत्वपूर्ण है, लेकिन touchcancel
को ट्रिगर करने वाली क्रिया एक एसवीजी ऑब्जेक्ट की viewBox
विशेषता का संशोधन है।) यदि मैं इस क्रिया को टिप्पणी करता हूं, तो स्पर्श प्रक्रिया सामान्य रूप से प्राप्त होती है (यानी touchmove
से touchend
तक)।
मेरे सभी स्पर्श हैंडलर preventDefault()
फ़ंक्शन को कॉल करते हैं, इसलिए समस्या इस बग में वर्णित नहीं है: https://code.google.com/p/android/issues/detail?id=19827।
मैंने पढ़ा है कि बहुत सारे inconsistency among browsers हैं जब touchcancel
कहा जाता है। स्टॉक एंड्रॉइड ब्राउजर एकमात्र ऐसा है जो मेरे लिए समस्याग्रस्त है।
क्या वहां कोई कामकाज है? उदाहरण के लिए, क्या मैं दूर touchcancel
ईवेंट को पूरी तरह अक्षम कर सकता हूं? एक और विचार था कि touchcancel
हैंडलर प्रोग्रामेटिक रूप से touchstart
/touchmove
ईवेंट ट्रिगर करना था, लेकिन मुझे इससे बहुत दूर नहीं मिला। किसी भी सुझाव की सराहना की जाएगी।
Argh! मुझे लगता है कि यह समस्या अब क्रोम ब्राउज़र में माइग्रेट हो गई है! यह संस्करण 28 में दिखाई दिया। Https://code.google.com/p/chromium/issues/detail?id=260732 देखें। –
यह पोस्ट भी देखें, जो संबंधित प्रतीत होता है: http://stackoverflow.com/questions/15944197/android-browser-touchcancel-being-fired-althought-touchmove-has-preventdefault –
मुझे क्रोम में इस समस्या का सामना करना पड़ रहा है अब ब्राउज़र, Hammer.js का उपयोग करने में हस्तक्षेप। किसी को पता है कि इस के आसपास कैसे जाना है? – acjay