2010-09-30 11 views
7

मैं वर्तमान में एक जावास्क्रिप्ट आवेदन जो एक टचस्क्रीन कियोस्क मोड में Chrome चला काउंटर पर तैनात किया जाएगा विकासशील कर रहा हूँ पर "सक्रिय" छद्म वर्ग।ट्रिगर: एक टचस्क्रीन

मैंने देखा है जब मैं एक माउस का उपयोग इंटरफेस पर बटन क्लिक करने के लिए है कि, शैली द्वारा लागू ": सक्रिय" छद्म वर्ग दिख रहा है जब माउस नीचे है। मेरी समस्या यह है कि स्क्रीन को छूकर ट्रिगर किया गया एक ही बटन सक्रिय स्थिति को ट्रिगर नहीं करता है।

क्या टच इवेंट एक माउस क्लिक के समान व्यवहार करने का कोई तरीका है?

उत्तर

2

सीएसएस मानते हुए: सक्रिय छद्म-वर्ग काम नहीं कर रहा है, आपको शायद डीओएम घटनाओं का उपयोग करने की आवश्यकता होगी।

क्या "मूसडाउन" और "माउसअप" घटनाएं टचस्क्रीन के साथ काम करती हैं? वे करते हैं मान लिया जाये, तो आप कुछ इस तरह की कोशिश कर सकते:

addEventListener("mousedown", function (event) { 
    if (event.target.setAttribute) { 
     event.target.setAttribute("data-active", ""); 
    } 
}, true); 

addEventListener("mouseup", function (event) { 
    if (event.target.removeAttribute) { 
     event.target.removeAttribute("data-active"); 
    } 
}, true); 
फिर अपने सीएसएस भीतर

, बदल देते हैं: के साथ [डेटा सक्रिय], इसलिए जैसे सक्रिय:

div[data-active] { 
    /* blah blah */ 
} 

मैं यह नहीं लगता कि होगा काफी काम करते हैं ... उदाहरण के लिए, बच्चे के तत्वों को सही तरीके से काम करने के लिए आपको कुछ चालबाजी करने की आवश्यकता हो सकती है।

+0

यह एक अच्छा तरीका है, हालांकि मुझे लगता है कि समस्या मैं अब है कि mousedown है और दोनों शुरू हो रहा है जब स्पर्श समाप्त होता है mouseup हैं, तो मैं एक touchstart घटना खोजने की जरूरत है। –

+0

मैंने इसे स्वीकार करने के रूप में चिह्नित किया है, हालांकि मैंने डेटा-सक्रिय विशेषता जोड़ने के बजाय "चयनित" कक्षा लागू करने के लिए कोड में संशोधन किया है। धन्यवाद! अब यह पता लगाने के लिए कि क्रोम ऑनचचस्टार्ट ईवेंट क्यों पंजीकृत नहीं कर रहा है! –

+0

कक्षाओं का उपयोग करने में समस्या यह है कि यह एक कठिन समय में एक से अधिक कक्षाओं में एक से अधिक कक्षाओं में कठिन होता है ... मेरे अनुभव में गुणों का उपयोग करना आसान है। कक्षाओं का उपयोग करना भी ठीक है, जो भी आपके लिए काम करता है। – Pauan

संबंधित मुद्दे