एक jQuery फ्लोट ग्राफ़ को इस तरह से नष्ट करने का सही तरीका क्या है जो सभी ईवेंट हैंडलर को साफ करेगा और परिणामस्वरूप स्मृति रिसाव न हो?jQuery फ़्लोट ग्राफ़ को नष्ट करना
ऐसा लगता है flot कुछ लाश (उर्फ डोम पेड़ पृथक)
एक jQuery फ्लोट ग्राफ़ को इस तरह से नष्ट करने का सही तरीका क्या है जो सभी ईवेंट हैंडलर को साफ करेगा और परिणामस्वरूप स्मृति रिसाव न हो?jQuery फ़्लोट ग्राफ़ को नष्ट करना
ऐसा लगता है flot कुछ लाश (उर्फ डोम पेड़ पृथक)
पीछे छोड़ जाता है आप तो jquery off
विधि का प्रयास ईवेंट हैंडलर्स को निकालना चाहते हैं। फ़्लोट ग्राफ को साफ़ करने के लिए
। आप div खाली कर सकते हैं।
$('#yourFlotDiv').empty();
jQuery.off() पर कौन से तर्क पारित किए जाने चाहिए? – thecountofzero
@thecountofzero $ ("# yourFlotDiv")। ("YourEventHandlerTORemove"); अधिक जानकारी के लिए यह http://api.jquery.com/off/ –
देखें, यह सुनिश्चित करने के बारे में बात कर रहा हूं कि फ़्लोट अपने सभी ईवेंट हैंडलर को साफ़ कर देता है और बनाए गए सभी डीओएम तत्वों को हटा देता है। – thecountofzero
आप एपीआई डॉक्स पढ़ा है, वहाँ एक बंद विधि उसके लिए आपको
shutdown()
Cleans up any event handlers Flot has currently registered. This
is used internally.
जैसे को साफ है।
var plot = $.plot($("#yourDiv"), options)
plot.shutdown()
यह सही है और काम करता है। – MirroredFate
लोग हैं, जो भविष्य में यहाँ आया के लिए, वहाँ अब एक destroy
समारोह है कि शटडाउन कॉल करता है और कैनवास तत्व को दूर करता है। यह किसी कारण के लिए एपीआई में undocumented है, लेकिन कोड में उपलब्ध है: ग्राफ़
var placeholder = $("#FlotDiv");
placeholder.unbind(); //Remove a previously-attached event handler from the elements.
placeholder.empty();
मामले में
इसके अलावा, आप विशिष्ट घटना निकल को यह जाने का रास्ता है इच्छा
var flot = $("#FlotDiv").data('plot')
if (flot) // If it's destroyed, then data('plot') will be undefined
flot.destroy();
'$ .plot ('# yourFlotDiv', {}, {}); 'इसे कहीं पढ़ें। बिल्कुल याद नहीं है कहां। – Ejaz