दिलचस्प पोस्ट
एक PHP फ़ंक्शन के लिए तर्कों की चर संख्या कैसे पारित करें मैं नेहेस्टेड कोष्ठक से regex का उपयोग कैसे कर सकता हूं? SQL सर्वर के लिए MySQL LIMIT खंड समकक्ष दो धागे को "बिल्कुल" एक ही समय में कैसे प्रारंभ करें एंड्रॉइड खंड- एक टुकड़े में विचारों के राज्यों को कैसे बचाया जाए, जब दूसरे टुकड़े को इसके ऊपर धकेल दिया जाता है सी में सीमांकक के साथ स्प्लिट स्ट्रिंग एचटीटीपी से रिमोट सर्वर से छवि कॉपी करें क्या घोषित गुणों के लिए इसी आवृत्ति चर की आवश्यकता होती है? हम एक (गैर-स्थिर) आंतरिक वर्ग में स्थिर विधि क्यों नहीं कर सकते? ऑब्जेक्ट गुण सूची में उद्देश्य-सी प्राप्त करें एंड्रॉइड: AsyncTask बनाम सेवा अभिगम नियंत्रण-अनुमति-उत्पत्ति द्वारा उत्पत्ति की अनुमति नहीं है तुलनात्मक और तुलनात्मक उपयोग करने के लिए कब किसी टैब कंट्रोलोल में टैब आइटम्स के भीतर कंट्रोल स्टेट को संरक्षित कैसे करें जावास्क्रिप्ट के साथ महीने में दिनों की संख्या निर्धारित करने का सबसे अच्छा तरीका क्या है?

जावास्क्रिप्ट के साथ टच स्क्रीन उपकरणों का पता लगा रहा है

जावास्क्रिप्ट / jQuery में, मैं कैसे पता लगा सकता है कि क्लाइंट डिवाइस के पास माउस है?

मेरे पास एक ऐसी साइट है जो एक छोटे से जानकारी पैनल को स्लाइड करती है, जब उपयोगकर्ता किसी आइटम पर अपने माउस को पकड़ता है। मैं होवर का पता लगाने के लिए jQuery.hoverIntent का उपयोग कर रहा हूं, लेकिन यह स्पष्ट रूप से टचस्क्रीन उपकरणों जैसे आईफोन / आईपैड / एंड्रॉइड पर काम नहीं करता है। इसलिए उन उपकरणों पर मैं जानकारी पैनल दिखाने के लिए टैप करने के लिए वापस करना चाहता हूं।

वेब के समाधान से एकत्रित समाधान "जावास्क्रिप्ट के साथ टच स्क्रीन उपकरणों का पता लगा रहा है"

hover करने के लिए +1 और दोनों को click एक अन्य तरीका सीएसएस मीडिया प्रश्नों का उपयोग कर सकता है और कुछ शैलियों को छोटे स्क्रीन / मोबाइल उपकरणों के लिए ही इस्तेमाल कर सकता है, जिनके स्पर्श / नल की कार्यक्षमता होने की संभावना है इसलिए यदि आपके पास सीएसएस के माध्यम से कुछ विशिष्ट शैली है, और jQuery से आप उन तत्वों को मोबाइल डिवाइस स्टाइल गुणों के लिए देख सकते हैं जो आपको मोबाइल विशिष्ट कोड लिखने के लिए उन्हें हुक कर सकते हैं।

यहां देखें: http://www.forabeautifulweb.com/blog/about/hardboiled_css3_media_queries/

 var isTouchDevice = 'ontouchstart' in document.documentElement; 

नोट : सिर्फ इसलिए कि एक उपकरण स्पर्श इन्सटेंशन का समर्थन करता है इसका मतलब यह नहीं है कि यह विशेष रूप से एक टच स्क्रीन डिवाइस है कई उपकरण (जैसे मेरी Asus Zenbook) दोनों क्लिक और स्पर्श इवेंट का समर्थन करते हैं, भले ही वे किसी भी वास्तविक स्पर्श इनपुट तंत्र नहीं करते हैं स्पर्श समर्थन के लिए डिजाइन करते समय, हमेशा क्लिक ईवेंट समर्थन शामिल होता है और कभी भी ग्रहण नहीं करता कि कोई भी डिवाइस विशेष रूप से एक या दूसरे है

खिड़की के लिए परीक्षण मिला। टच एंड्रॉइड पर काम नहीं किया लेकिन यह ऐसा करता है:

 function is_touch_device() { return !!('ontouchstart' in window); } 

लेख देखें: जावास्क्रिप्ट का उपयोग करके एक 'टच स्क्रीन' डिवाइस का पता लगाने का सबसे अच्छा तरीका क्या है?

 if ("ontouchstart" in window || navigator.msMaxTouchPoints) { isTouch = true; } else { isTouch = false; } 

हर जगह काम करता है !!

 return (('ontouchstart' in window) || (navigator.maxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0)); 

MsMaxTouchPoints के साथ maxTouchPoints का उपयोग करने का कारण:

माइक्रोसॉफ्ट ने कहा है कि इंटरनेट एक्सप्लोरर 11 के साथ शुरू हो रहा है, इस प्रॉपर्टी (एमएसएमएक्सटूच पॉइंट्स) के माइक्रोसॉफ्ट विक्रेता प्रीफिक्स्ड वर्जन को निकाल दिया जा सकता है और इसके बजाय अधिकतम टच पॉइंट का उपयोग करने की सिफारिश की जा सकती है।

स्रोत: http://ctrlq.org/code/19616-detect-touch-screen-javascript

मैं उपयोग करता हूं:

 if(jQuery.support.touch){ alert('Touch enabled'); } 

jQuery के मोबाइल 1.0.1 में

Google क्रोम इस एक पर झूठी सकारात्मक वापस आती है:

 var isTouch = 'ontouchstart' in document.documentElement; 

मुझे लगता है कि इसके पास "टच इवेंट का अनुकरण" करने की अपनी क्षमता है (F12 -> निचले दाएं कोने में सेटिंग -> "ओवरराइड" टैब -> अंतिम चेकबॉक्स)। मुझे पता है कि इसे डिफॉल्ट रूप से बंद कर दिया गया है, लेकिन यह है कि मैं परिणामों में परिवर्तन (क्रोम में काम करने के लिए इस्तेमाल की जाने वाली "इन" विधि) से कनेक्ट करता हूं। हालांकि, जहां तक ​​मैंने परीक्षण किया है, यह काम करने लगता है:

 var isTouch = !!("undefined" != typeof document.documentElement.ontouchstart); 

सभी ब्राउज़रों पर मैं उस कोड को राज्य के प्रकार को "ऑब्जेक्ट" चलाता हूं, लेकिन मुझे लगता है कि यह निश्चित है कि यह कुछ भी लेकिन अपरिभाषित है 🙂

आईई 7, आईई 8, आईई 9, आईई 10, क्रोम 23.0.1271.64, आईपैड 21.0.1180.80 और आईपैड सफारी के लिए क्रोम पर परीक्षण किया गया। यह अच्छा होगा अगर किसी ने कुछ और परीक्षण किए और परिणाम साझा किए।

यह मेरी साइटों में से एक के लिए लिखा है और शायद सबसे आसान समाधान है। खासकर जब से आधुनिक इंजन भी स्पर्श पहचान पर झूठी सकारात्मक हो सकता है।

यदि आप jQuery का उपयोग कर रहे हैं

 $(window).one({ mouseover : function(){ Modernizr.touch = false; // Add this line if you have Modernizr $('html').removeClass('touch').addClass('mouse'); } }); 

या सिर्फ शुद्ध जे एस …

 window.onmouseover = function(){ window.onmouseover = null; document.getElementsByTagName("html")[0].className += " mouse"; } 

मैंने चर्चा में ऊपर उल्लिखित कोड का परीक्षण किया है

  function is_touch_device() { return !!('ontouchstart' in window); } 

एंड्रॉइड मोज़िला, क्रोम, ओपेरा, एंड्रॉइड डिफॉल्ट ब्राउज़र और सफारी पर काम करता है … सभी सकारात्मक …

मेरे लिए ठोस लगता है 🙂

विषय पर एक उपयोगी ब्लॉग पोस्ट, जो टच ईवेंट्स का पता लगाने के लिए मॉडर्निज्र स्रोत के अंदर से जुड़ा हुआ है। निष्कर्ष: जावास्क्रिप्ट से टचस्क्रीन डिवाइस को मज़बूती से पहचानना संभव नहीं है।

http://www.stucox.com/blog/you-cant-detect-a-touchscreen/

यह मेरे लिए काम करता है:

 function isTouchDevice(){ return true == ("ontouchstart" in window || window.DocumentTouch && document instanceof DocumentTouch); } 

JQuery मोबाइल में आप बस ऐसा कर सकते हैं:

 $.support.touch 

पता नहीं क्यों यह इतना undocumented है .. लेकिन यह crossbrowser सुरक्षित (वर्तमान ब्राउज़रों के नवीनतम 2 संस्करण) है।

मेरी पहली पोस्ट / टिप्पणी के लिए: हम सभी जानते हैं कि क्लिक से पहले 'टचस्टार्ट' शुरू हो गया है। हम यह भी जानते हैं कि जब उपयोगकर्ता आपके पृष्ठ को खोलता है तो वह वह करेगा: 1) माउस को ले जाएँ 2) 3 क्लिक करें (स्क्रीन पर स्क्रॉल करना, या … :))

आइए कुछ प्रयास करें:

// -> प्रारंभ: jQuery

 var hasTouchCapabilities = 'ontouchstart' in window && (navigator.maxTouchPoints || navigator.msMaxTouchPoints); var isTouchDevice = hasTouchCapabilities ? 'maybe':'nope'; //attach a once called event handler to window $(window).one('touchstart mousemove click',function(e){ if ( isTouchDevice === 'maybe' && e.type === 'touchstart' ) isTouchDevice = 'yes'; }); 

// <- अंत: jQuery

आपका दिन शुभ हो!

IPad के विकास के लिए मैं उपयोग कर रहा हूं:

  if (window.Touch) { alert("touchy touchy"); } else { alert("no touchy touchy"); } 

तब मैं चुनिंदा स्पर्श आधारित ईवेंट (जैसे ऑटचर्चस्टार्ट) या माउस आधारित ईवेंट (जैसे ओनमोउडेउन) से चुन सकते हैं। मैंने अभी तक एंड्रॉइड पर परीक्षण नहीं किया है

यदि आप मॉडर्नर्जर का उपयोग करते हैं, तो पहले उल्लेख के अनुसार, Modernizr.touch का उपयोग करना बहुत आसान है।

हालांकि, मैं सिर्फ सुरक्षित होने के लिए, Modernizr.touch और उपयोगकर्ता एजेंट परीक्षण के संयोजन का उपयोग करना पसंद करता हूं।

 var deviceAgent = navigator.userAgent.toLowerCase(); var isTouchDevice = Modernizr.touch || (deviceAgent.match(/(iphone|ipod|ipad)/) || deviceAgent.match(/(android)/) || deviceAgent.match(/(iemobile)/) || deviceAgent.match(/iphone/i) || deviceAgent.match(/ipad/i) || deviceAgent.match(/ipod/i) || deviceAgent.match(/blackberry/i) || deviceAgent.match(/bada/i)); if (isTouchDevice) { //Do something touchy } else { //Can't touch this } 

यदि आप ('ontouchstart' in document.documentElement) उपयोग नहीं करते हैं, तो आप इसके साथ ही above Modernizr.touch फ़ंक्शन को प्रतिस्थापित कर सकते हैं ('ontouchstart' in document.documentElement)

यह भी ध्यान रखें कि उपयोगकर्ता एजेंट iemobile परीक्षण आपको Windows Phone तुलना में खोजा गया माइक्रोसॉफ्ट मोबाइल उपकरणों की व्यापक रेंज देगा।

इसके अलावा इस सवाल का भी देखें