मैं अपने आईओएस/एंड्रॉइड ऐप के निर्माण के लिए फोनगैप का उपयोग कर रहा हूं - मूल रूप से एक रिमोट जो मेरे लैपटॉप के कीबोर्ड पर कुछ कुंजियों का अनुकरण कर सकता है। (वीडियो प्लेबैक आदि को नियंत्रित करने के लिए)।jQuery क्लिक करें - मोबाइल में एकाधिक क्लिक को रोकें
इसके वेबपृष्ठ के बाद से, मेरे पास छवियां हैं जो मेरे लैपटॉप पर मेरे जावा सॉकेट सर्वर से कनेक्ट होने पर क्लिक की जाती हैं। जिस मुद्दे का मैं सामना कर रहा हूं वह है, हर बार जब मैं एक बटन पर क्लिक करता हूं - बस एक बार (पॉज़ बटन की तरह), मुझे जावा कंसोल में 1 से अधिक अनुरोध निकाल दिए जाते हैं। लेकिन यह तब होता है जब मैं अपने फोन में क्लिक (स्पर्श) करता हूं। जब मैं अपने लैपटॉप के ब्राउज़र में ऐसा करने की कोशिश करता हूं, तो यह अपेक्षित व्यवहार करता है (केवल एक अनुरोध)।
मैं कई पदों के माध्यम से चला गया, जहां सामान्य सलाह 'unbind()' और 'off()' का उपयोग करना है, लेकिन कुछ भी काम नहीं करता है। कोड स्निपेट नीचे है।
$("#play").off().on('click',function(){
//alert("Play");
jQuery.ajax({
type: "GET",
async: true,
url: 'http://'+ip+':10007/function=play?',
success: function (msg)
{ },
error: function (err)
{ }
});
});
मैंने यह चेतावनी का उपयोग यह जांचने के लिए किया कि घटना को एक से अधिक बार निकाल दिया गया है या नहीं। चेतावनी सिर्फ एक बार पॉप अप होती है, जिसका मतलब है कि घटना केवल एक बार निकाल दी जाती है। तो यह सिर्फ एक बार क्लिक करें (स्पर्श करें) => एक घटना => लेकिन एकाधिक अनुरोध!
मैं कोड के इस टुकड़े के साथ सर्वर प्रतिक्रिया की जाँच कर रहा हूँ:
while(true) {
Socket sock = servsock.accept();
System.out.println("Connection from: " + sock.getInetAddress());
Scanner in = new Scanner(sock.getInputStream());
PrintWriter out = new PrintWriter(sock.getOutputStream());
String request = "";
while (in.hasNext()) {
request = in.next();
if (request.contains("function="))
{
inputLine = request.split("function=")[1];
System.out.println ("^^^^^" + inputLine);
...
आउटपुट कंसोल में तीन बार प्रकट होता है जब मोबाइल से अनुरोध किया, लेकिन सिर्फ एक बार जब अपने लैपटॉप के ब्राउज़र से अनुरोध।
मुझे समझ में नहीं आता कि यह क्यों और रोका जा सकता है कि इसे कैसे रोका जा सकता है। कोई पॉइंटर्स?
मैं इसे केवल ब्राउज़र में आज़मा सकता हूं; मैंने कोशिश की कि यह प्रति क्लिक केवल एक बार दिखाई देगा। लेकिन ब्राउज़र से मैंने सत्यापित किया है कि ईवेंट केवल एक बार बुलाया जाता है। मेरे फोन से, यह एक से अधिक बार होता है .. इसलिए अलर्ट। मुझे नहीं पता कि मेरे फोन में और कैसे डीबग करना है। – Krish
आप किस फोन का उपयोग कर रहे हैं? एंड्रॉइड या आईफोन? –
मैं एक आईफोन 6 एस – Krish