मुझे लगता है कि मेरे पास <div>
पाठ, स्लाइडर्स और बटन के साथ एक इनपुट कंटेनर क्षेत्र है, और उस में आकस्मिक डबल-टैप को रोकना चाहते हैं <div>
। निम्नलिखित इनपुट क्षेत्र पर ज़ूमिंग को रोकता नहीं है, और यह मेरे <div>
क्षेत्र के बाहर डबल-टैप और ज़ूमिंग से संबंधित नहीं है। ब्राउज़र ऐप के आधार पर विविधताएं हैं।
मैंने बस कोशिश की।
(1) IOS पर सफारी के लिए, और Android पर क्रोम, और पसंदीदा तरीका है। सैमसंग पर इंटरनेट ऐप को छोड़कर काम करता है, जहां यह डबल-टैप को पूरी तरह से नहीं <div>
, बल्कि कम से कम ऐसे तत्वों को निष्क्रिय करता है जो टैप को संभालते हैं। यह रिटर्न और इनपुट return false
पर अपवाद के साथ ।text
range
$('selector of <div> input area').on('touchend',disabledoubletap);
function disabledoubletap(ev) {
var preventok=$(ev.target).is('input[type=text],input[type=range]');
if(preventok==false) return false;
}
(2) वैकल्पिक रूप से एंड्रॉइड (5.1, सैमसंग) पर बिल्ट-इन इंटरनेट ऐप के लिए <div>
, पर डबल-टैप को रोकता है, लेकिन इस पर ज़ूमिंग को रोकता है <div>
:
$('selector of <div> input area').on('touchstart touchend',disabledoubletap);
(३) एंड्रॉइड ५.१ पर क्रोम के लिए, डबल-टैप को बिल्कुल निष्क्रिय कर देता है, ज़ूमिंग को बाधित नहीं करता है और अन्य ब्राउज़रों में डबल-टैप के बारे में कुछ भी नहीं करता है। डबल-टैप-इनहिबिटिंग <meta name="viewport" ...>
परेशान है, क्योंकि <meta name="viewport" ...>
अच्छा अभ्यास लगता है।
<meta name="viewport" content="width=device-width, initial-scale=1,
maximum-scale=5, user-scalable=yes">