दिलचस्प पोस्ट
जावा में एक आवधिक कार्य शेड्यूल करने के लिए कैसे? उपयोग पर सेट नाकाउंट मैं अपने एसएसपी.NET अनुप्रयोग में एसक्यूएल इंजेक्शन के हमलों से कैसे बच सकता हूं? jQuery के मोडल संवाद और jqGrid Stdio.h कार्य कार्यान्वयन कहाँ खोजना है? मानक प्रिंटर से पायथन को प्रिंट करें? DoGet के साथ सर्वलेट में रूट पथ में डिफ़ॉल्ट होमपेज बदलें संशोधित .resx फ़ाइल में सी # रेल में POST का उपयोग करने के लिए redirect_to सी ++ कक्षा में स्थिर चर को प्रारंभ करें? मैं एक कन्स्ट्रक्टर या फ़ंक्शन के लिए एक अनूठे_पीट तर्क कैसे पारित करूं? क्या मैं सी # में Outlook (2003/2007) पीएसटी फ़ाइल पढ़ सकता हूं? जॉइंट क्वेरीज़ बनाम एकाधिक क्वेरीज़ Java.lang.ClassNotFoundException त्रुटि: Google Map V2 में com.google.android.gms.maps.MapFragment लेन-देन प्रबंधक ने दूरस्थ / नेटवर्क लेनदेन के लिए अपना समर्थन अक्षम कर दिया है

$ (दस्तावेज़) .click () iPhone पर सही ढंग से काम नहीं कर रहा है jquery

यह फ़ंक्शन आईई, फ़ायरफ़ॉक्स और क्रोम पर पूरी तरह से काम करता है, लेकिन जब आईफोन पर, यह केवल तभी काम करेगा जब <img> पर क्लिक करें। पृष्ठ पर क्लिक करने (कहीं भी लेकिन एक आईएमजी पर) घटना आग नहीं होगा।

 $(document).ready(function () { $(document).click(function (e) { fire(e); }); }); function fire(e) { alert('hi'); } 

HTML भाग बेहद बुनियादी है और एक समस्या नहीं होना चाहिए।

कोई विचार?

वेब के समाधान से एकत्रित समाधान "$ (दस्तावेज़) .click () iPhone पर सही ढंग से काम नहीं कर रहा है jquery"

संक्षिप्त जवाब:

 <style> .clickable-div { cursor: pointer; } </style> 

लंबा जवाब:

यह समझना महत्वपूर्ण है कि यदि आप <a> टैग का उपयोग कर रहे हैं तो सब कुछ अपेक्षित रूप से काम करेगा आप आईफोन पर एक नियमित <a> लिंक पर गलती से क्लिक या ड्रैग कर सकते हैं और सब कुछ उपयोगकर्ता की अपेक्षा के अनुसार व्यवहार करता है

मैं सोचता हूं कि आपके पास मनमाना HTML है, जो कि क्लिक करने योग्य नहीं है – जैसे एक पैनल जिसमें पाठ और छवियां हैं, जिन्हें <a> साथ लपेट नहीं किया जा सकता। मुझे इस समस्या के बारे में पता चला जब मेरे पास ऐसा पैनल था जो मैं पूरी तरह से क्लिक करने योग्य था।

 <div class='clickable-div' data-href="http://www.stackoverflow.com"> ... clickable content here (images/text) ... </div> 

इस div के भीतर कहीं भी एक क्लिक का पता लगाने के लिए मैं एक data-href एचटीएमएल एट्रिब्यूट के साथ jQuery का उपयोग कर रहा हूं जो कि ऊपर दिखाया गया है (यह गुण मेरे द्वारा आविष्कार किया गया है और यह एक मानक jQuery या एचटीएमएल डाटा विशेषता नहीं है।)

 $(document).on('click', '.clickable-div', function() { document.location = $(this).data('href'); }); 

यह आपके डेस्कटॉप ब्राउज़र पर काम करेगा लेकिन आईपैड नहीं, आप चाहे कितना क्लिक करें।

click touchstart click करने के लिए आप अपने ईवेंट हैंडलर को बदलने के लिए परीक्षा दे click touchstart – और यह वास्तव में ईवेंट हैंडलर को ट्रिगर करता है हालांकि यदि उपयोगकर्ता पृष्ठ को खींचना चाहता है (स्क्रॉल करने के लिए) वे इसे भी ट्रिगर करेंगे – जो एक भयानक उपयोगकर्ता अनुभव है [आप डरपोक बैनर विज्ञापन द्वारा इस व्यवहार को देख सकते हैं]

जवाब अविश्वसनीय रूप से सरल है: बस सीएसएस cursor: pointer सेट करें cursor: pointer

 <style> .clickable-div { cursor: pointer; } </style> 

डेस्कटॉप उपयोगकर्ताओं के लिए इस क्षेत्र को एक हाथ आइकन के साथ क्लिक करने योग्य है यह इंगित करने के लिए इसके अतिरिक्त लाभ था।

https://stackoverflow.com/a/4910962/16940 पर धन्यवाद

निम्नलिखित कोड में कार्य करता है।

समस्या यह है कि iPhones क्लिक ईवेंट बढ़ाएं न। वे "टच" इवेंट्स बढ़ाते हैं बहुत बहुत धन्यवाद सेब क्यों वे इसे सिर्फ हर किसी की तरह मानक नहीं रख सकते? वैसे भी टिप के लिए धन्यवाद Nico

क्रेडिट: http://ross.posterous.com/2008/08/19/iphone-touch-events-in-javascript

 $(document).ready(function () { init(); $(document).click(function (e) { fire(e); }); }); function fire(e) { alert('hi'); } function touchHandler(event) { var touches = event.changedTouches, first = touches[0], type = ""; switch(event.type) { case "touchstart": type = "mousedown"; break; case "touchmove": type = "mousemove"; break; case "touchend": type = "mouseup"; break; default: return; } //initMouseEvent(type, canBubble, cancelable, view, clickCount, // screenX, screenY, clientX, clientY, ctrlKey, // altKey, shiftKey, metaKey, button, relatedTarget); var simulatedEvent = document.createEvent("MouseEvent"); simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0/*left*/, null); first.target.dispatchEvent(simulatedEvent); event.preventDefault(); } function init() { document.addEventListener("touchstart", touchHandler, true); document.addEventListener("touchmove", touchHandler, true); document.addEventListener("touchend", touchHandler, true); document.addEventListener("touchcancel", touchHandler, true); } 

इसे बदलो:

 $(document).click( function () { 

इसके लिए

 $(document).on('click touchstart', function () { 

हो सकता है कि यह समाधान आपके काम में फिट नहीं है और जैसा कि उत्तर पर वर्णित है कि यह लागू करने का सबसे अच्छा समाधान नहीं है। कृपया, अन्य उपयोगकर्ताओं से दूसरे फ़िक्स को जांचें।

यह प्रयास करें, केवल iPhone और आइपॉड पर लागू होता है ताकि आप क्रोम या फ़ायरफ़ॉक्स मोबाइल पर सब कुछ नीला न करें;

 /iP/i.test(navigator.userAgent) && $('*').css('cursor', 'pointer'); 

मूल रूप से, आईओएस पर, चीजें डिफ़ॉल्ट रूप से "क्लिक करने योग्य" नहीं होती हैं – वे "स्पर्श करने योग्य" (pfffff) हैं, ताकि आप उन्हें एक पॉइंटर कर्सर देकर "क्लिक करने योग्य" बनाएं। कुल अर्थ करता है, सही ??

सीएसएस Cursor:Pointer; एक महान समाधान है फास्टक्लिक https://github.com/ftlabs/fastclick एक और समाधान है जो आपको सीएसएस बदलने की आवश्यकता नहीं है अगर आप Cursor:Pointer; नहीं चाहते Cursor:Pointer; किसी कारण के लिए एक तत्व पर मैं आईओएस उपकरणों पर 300ms देरी को खत्म करने के लिए अब वैसे भी तेजी से उपयोग कर रहा हूं।

इसके बजाय jQTouch का उपयोग करें – इसका jQuery का मोबाइल संस्करण

मोबाइल आईओएस पर क्लिक ईवेंट दस्तावेज़ बॉडी पर बुलबुला नहीं होता है और इस प्रकार .live () ईवेंट के साथ उपयोग नहीं किया जा सकता। यदि आपको एक गैर देशी क्लिक-योग्य तत्व का उपयोग करना है जैसे कोई div या अनुभाग कर्सर का उपयोग करना है: सूचक; प्रश्न में तत्व पर गैर-हॉवर के लिए आपकी सीएसएस में यदि यह बदसूरत है तो आप प्रतिनिधि को देख सकते हैं ()

इसे अपने प्रोजेक्ट में शामिल करें जिथूब पर "रीडमी" की जांच करें https://github.com/tomasz-swirski/iOS9-Safari-Click-Fix