की समाशोधन अक्षम करें मैं उपयोगकर्ताओं को धुरी पर मानों की एक श्रृंखला का चयन करने की अनुमति देने के लिए एक D3.js ब्रश का उपयोग करना चाहता हूं। डिफ़ॉल्ट रूप से, ब्रश के बाहर क्लिक करने से इसे साफ़ किया जाता है, ताकि कोई सीमा नहीं चुनी जा सके।D3.js ब्रश
हालांकि, मैं इस व्यवहार को समायोजित करना चाहता हूं ताकि ब्रश के बाहर क्लिक करने से ब्रश सीमा में कोई बदलाव न हो। असल में, ब्रश को साफ़ करने का कोई तरीका नहीं होना चाहिए, कुछ सीमा हमेशा चुनी जानी चाहिए।
मेरा मानना है कि मुझे किसी भी तरह से समाशोधन को अक्षम करने के लिए brush
event में हुक करना है, लेकिन मुझे वास्तव में यह नहीं पता कि इसके बारे में कैसे जाना है।
यहां इंटरफ़ेस का एक उदाहरण है जिसके बारे में मैं बात कर रहा हूं (Fiddle)। जब आप ब्लैक बार के बाएं या दाएं क्लिक करते हैं, तो ब्रश साफ़ हो जाता है और बार गायब हो जाता है।
मैं इस व्यवहार को निष्क्रिय कर सकते हैं?
मुझे यह विचार मिला। लेकिन मुझे आश्चर्य है कि आपको एक त्रुटि मिली है: "Uncaught TypeError: जब आप इस कोड को चलाते हैं तो संपत्ति को 'अपरिभाषित' कॉल नहीं पढ़ सकता है, ऐसा लगता है कि कोई mousemove.brush ईवेंट हैंडलर ब्रश नोड से बंधे नहीं है। – Kuan
हाय @ कुआं, क्या आपने समस्या से ऊपर हल किया है? त्रुटि के साथ उपरोक्त समाधान का उपयोग कर कोई समस्या/दुष्प्रभाव हुआ है ?? –
@ निथिन सीवी पोयिल नो, यह उपरोक्त उदाहरण में काम करता है, लेकिन मेरे मामले में काम नहीं करता है। जिस तरह से मैं उपयोग करता हूं वह है: प्रारंभ में ब्रश सीमा को याद रखें, और ब्रूसहेंड में, अगर (! Brush.empty()) {ext = brush.extent();} else {brush.extent (ext); } और ब्रश सेट करें और धुरी को दोबारा हटाएं – Kuan