2013-02-26 94 views
11

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

+0

यहाँ कुछ अच्छा जवाब है: http://stackoverflow.com/questions/2349764/jquery-is-mousedown-on-mouseover – MattDiamant

उत्तर

16

आप होवर कॉलबैक में दिए गए ईवेंट पर buttons संपत्ति का उपयोग कर सकते हैं ताकि यह जांच सके कि ईवेंट ट्रिगर होने पर माउस बटन दबाए गए थे।

उदाहरण के लिए, पता लगाने के लिए कि क्या बाएं बटन जब एक तत्व माउस के साथ दर्ज किया गया है दबाया गया था, आप इस्तेमाल कर सकते हैं: http://jsfiddle.net/Ah6pw/

दबाए रखें:

myElement.addEventListener("mouseover", function(e){ 
    if(e.buttons == 1 || e.buttons == 3){ 
     //do some stuff 
    } 
}) 

यहाँ इस विचार का एक प्रदर्शन है बाएं माउस बटन और विभिन्न माउस आइटम के माध्यम से अपने माउस को ले जाएं।

+2

यह केवल आईई के लिए काम करता है। – Jonathan

+1

@ जोनाथन सच है, लेकिन यह '.buttons' के बजाय' .which 'का उपयोग कर अन्य ब्राउज़रों में ठीक काम करेगा। – Oak

+0

@ जोनाथन मैंने बड़े पैमाने पर परीक्षण नहीं किया है, लेकिन यह फ़ायरफ़ॉक्स में भी मेरे लिए काम करता प्रतीत होता है। –

0

मुझे कुछ मिल गया। कुछ जगहों पर वस्तुओं को क्लिक करना और फिर थोड़ा इंटरैक्शन। http://mrdoob.github.com/three.js/examples/canvas_interactive_cubes.html

इसके अलावा (कोड में प्रेरणा के लिए देखें) इन कड़ियों उपयोगी हो सकता है के लिए आप