मैं कैनवास पर ड्रैग और ड्रॉप आकार बनाने के लिए राफेल के साथ काम कर रहा हूं। मैं अपने इवेंट फ़ंक्शंस के साथ .drag() फ़ंक्शन (राफेल फ्रेमवर्क में आपूर्ति) का उपयोग करके ऐसा करता हूं। मुझे ऐसा करने में कोई समस्या नहीं है।राफेल कैनवास (पृष्ठभूमि) ऑनक्लिक घटना
मेरे पास एक ऐसा फ़ंक्शन भी है जो DblClick पर एक नया आकार बनाता है, समस्या यह है कि मैं केवल ईवेंट को आकार, या अन्य तत्वों को जोड़ सकता हूं।
एक आकार करने के लिए घटनाओं को जोड़ने इतना तरह काम करता है: घटनाओं क्लिक संलग्न करने के लिए एक तरह से
R = Raphael("canvas", "100%", "100%"),
R.dblclick(myDblClick);
किसी को भी पता है:
R = Raphael("canvas", "100%", "100%"),
R.rect(100, 100, 25, 50).attr({fill: fillColor}).dblclick(myDblClick);
कैनवास पर एक ही सिद्धांत का प्रयोग काम नहीं करता है कैनवास के लिए, यानी मैं div (आकार को छोड़कर) में कहीं भी क्लिक कर सकता हूं और ईवेंट ट्रिगर हो जाएगा।
धन्यवाद।
इस मुद्दे के साथ समस्या यह है कि यदि ईवेंट पर क्लिक किया जाता है तो ईवेंट अभी भी कहा जाता है। मैं केवल इस घटना पर पृष्ठभूमि लागू होना चाहता हूं। –
myDblClick के अंदर, event.originalTarget का निरीक्षण करें और यदि यह एक "rect" आदि नोड है तो एक कस्टम ईवेंट आग लगाना। $ ('# कैनवास')। ट्रिगर ('dblclick.raphDblClick', {origEvent: event}); उन पंक्तियों के साथ कुछ काम करना चाहिए –
आमतौर पर आप 'पेपर' को चारों ओर ले जाते हैं, इसलिए 'paper.canvas' भी काम करना चाहिए। – tokland