2012-01-20 25 views
5

मैंने एएसपीनेट 3.5 में एक वेब अनुप्रयोग विकसित किया है। यह बहुत सारे जावास्क्रिप्ट/JQuery घटनाओं का उपभोग कर रहा है और पीसी में सामान्य ब्राउज़र में ठीक से काम कर रहा है, लेकिन मेरा ग्राहक कह रहा है कि ये टेबलेट-पीसी/एंड्रॉइड और आईपैड में काम नहीं कर रहे हैं। जैसे कि मेरे पास एक ड्रॉपडाउनलिस्ट है जिसमें मैं जावास्क्रिप्ट में कुंजीपटल और माउस क्लिक इवेंट फायर कर रहा हूं, और ये सामान्य ब्राउज़र में पूरी तरह से काम कर रहे हैं, मुझे इन सभी को आईपैड और एंड्रॉइड टैबलेट-पीसी में काम करने की ज़रूरत है।जावास्क्रिप्ट घटनाक्रम टैबलेट-पीसी में काम नहीं कर रहे हैं?

+0

अच्छी तरह से आप के लिए मुफ्त (सरल), कि iPad और Android उपकरणों के लिए क्लिक करें और डबल क्लिक करें की अवधारणा पर विचार करें सब कुछ नहीं मिलता है से अलग है सकते हैं एक पीसी पर जबकि jQuery क्रॉस-ब्राउज़र क्लाइंट साइड प्रोग्रामिंग का समर्थन करने के लिए एक बहुत अच्छी पसंद है, फिर यह इस बात पर निर्भर करता है कि आप इसका उपयोग कैसे करते हैं। विवरण के लिए इसे जांचें: http://stackoverflow.com/questions/475674/what-javascript-events-are-available-to-webkit-on-android –

+0

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

उत्तर

4

क्लिक ईवेंट आईपैड पर काम नहीं करेंगे क्योंकि यह टच स्क्रीन है - क्लिक करें स्पर्श स्पर्श मुझे लगता है। क्या आपने JQuery के बजाय JQueryMobile का उपयोग करने पर विचार किया है? मुझे स्पर्श उपकरणों के लिए अनुकूलित किया गया है - क्योंकि यह साइट के बहुत आगे के पृष्ठ पर बताता है।

बल्कि का उपयोग करने से क्लिक करें यह events you can hook into यानी नल, कड़ी चोट, taphold आदि की एक पूरी मेजबान है ... यह बहुत आसान एक क्लिक में एक ही समारोह और एक नल घटना

('myelement').bind('click', function(event){ 
    myClickFunction(); 
}); 

('myelement').bind('tap', function(event){ 
    myClickFunction(); 
}); 

यानी हुक होगा ऐसा करने के लिए संभवतः (लगभग निश्चित रूप से) अधिक सुरुचिपूर्ण तरीके हैं - लेकिन यह वास्तव में एक शुरुआत है।

touchstart: a finger is placed on a DOM element. 
touchmove: a finger is dragged along a DOM element. 
touchend: a finger is removed from a DOM element. 

हो सकता है कि आप उन के साथ काम करने की कोशिश करना चाहते:

+3

आप यह कर सकते हैं: '$ ('myelement')। बाइंड ('क्लिक', myClickFunction)। बाइंड ('टैप', myClickFunction); 'कोड को सुंदर बनाने के लिए –

+0

@AndrewJackman शानदार - अच्छी तरह से किया गया सर –

+0

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

1

एक टच स्क्रीन डिवाइस के लिए स्पर्श ईवेंट नहीं है। ऐसा कहा जा रहा है कि ड्रॉप डाउन सूची के लिए change (या onchange इनलाइन के साथ इनलाइन) जैसी घटनाओं का उपयोग करना अच्छा होता है क्योंकि इससे कोई फर्क नहीं पड़ता कि यह क्या बदलता है (कीबोर्ड, माउस इवेंट या टच इवेंट)।

Here और जानने के लिए संसाधन है।

0

आप एक संयोजन का उपयोग और नल के बजाय touchstart कोशिश

('myelement').bind('touchstart click', function(event){ 
    myClickFunction(); 
}); 
संबंधित मुद्दे