Element#destroy would definitely be useful. +1

I really think this is a better idea then making a public interface to reach
destroyCache since it resolves into one function call and the learning curve
(making difference between remove and destroy) is smaller since you don't
have to teach developer the whole "EventCache" concept and why they should
call the related function.

Simon

2009/10/2 Mike Rumble <mike.rum...@gmail.com>

>
> Ok, good points that I hadn't considered.
>
> However, I would think that many developers will just use Event#remove
> without considering the need to remove the event listeners, which
> could lead to memory leaks.
>
> Maybe an Element#destroy method could fill this gap - remove event
> listeners, remove element from the DOM and then trash it - a
> destructive method for when the developer says "OK, I'm done with this
> element..."
>
> On Oct 2, 9:06 am, Jim Higson <j...@wikizzle.org> wrote:
> > On Thursday 01 October 2009 21:56:30 Mike Rumble wrote:
> >
> > > You could also encapsulate this in a function wrapping Element#remove,
> > > which IMHO is something Prototype should do out of the box.
> >
> > Quite disagree:
> >
> > * If I remove an element and add it elsewhere, I don't expect its events
> to
> > have been de-registered. The code that moves the element shouldn't have
> to be
> > aware of the (possibly unrelated) code that added the event listeners in
> order
> > to ask it to add them again.
> >
> > * Removing from the document is not the same as allowing to be GC'd
> >
> > * Some elements may never be added to the document. Eg, an XML document
> which
> > you download, manipulate then build some HTML representation of. Perhaps
> you
> > want to monitor for mutations and keep the HTML in sync? [1]
> >
> > Jim
> >
> > [1] Not actually possible in IE or Chrome/Safari but would be nice if it
> were.
> > In Chrome DOM mutation events only fire if the element is in the
> document:
> http://jimhigson.blogspot.com/2009/09/chrome-and-dom-mutation-events....
> >
> > --
> > Jim
> > my wiki ajaxification thing:http://wikizzle.org
> > my blog:http://jimhigson.blogspot.com/
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype: Core" group.
To post to this group, send email to prototype-core@googlegroups.com
To unsubscribe from this group, send email to 
prototype-core-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/prototype-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to