okidoke, new thread started here:
  
http://groups.google.com/group/jquery-dev/browse_thread/thread/12ab14b05d3f6cfb


--Mike

On Apr 25, 6:56 am, John Resig <jere...@gmail.com> wrote:
> This should go in a new thread.
>
> --John
>
> On Fri, Apr 24, 2009 at 4:54 PM, Michael Park <emp...@gmail.com> wrote:
>
> > There is definitely a problem with the way jQuery (I'm using 1.3.2)
> > handles cleaning up namespaced events (I'm tracing the 'unload' event
> > codepath). The problem from what I can tell seems to be in
> > jQuery.event.remove:
>
> > 2540         // Handle multiple events seperated by a space
> > 2541         // jQuery(...).unbind("mouseover mouseout", fn);
> > 2542         jQuery.each(types.split(/\s+/), function(index, type){
> > 2543           // Namespaced event handlers
> > 2544           var namespaces = type.split(".");
> > 2545           type = namespaces.shift();
> > 2546           var namespace = RegExp("(^|\\.)" +
> > namespaces.slice().sort().join(".*\\.") +      "(\\.|$)");
>
> > ...during the 'unload' event-handler codepath, this code snippet here
> > is expecting the passed in 'types' argument to contain the namespaced
> > event-identifier (ex. 'click.foo'), but instead it is getting the
> > common event-identifier instead (ex. 'click').
>
> > You can firebug-trace this yourselves with the simple examples I put up
> > here:
>
> >  http://emparq.com/ex/ex-good.html
> >  http://emparq.com/ex/ex-bad.html
>
> > ...you'll notice the only difference between these two examples is
> > that one binds 'click.foo' and the other binds 'click'. In the bad
> > example, hitting reload constantly will see the process memory useage
> > go up (in essense, a leak) due to 'jQuery.event.remove' not properly
> > cleaning up the namespaced 'click.foo' event), while the good example
> > will not suffer the same results.
>
> > I'm still new-ish to jQuery and I'm not ready to hazard a solution
> > just yet, but I'm guessing something either needs to be done with the
> > way 'jQuery.event.remove' handles the value of the 'types' argument,
> > or this code here:
>
> > 2531         for ( var type in events )
> > 2532           this.remove( elem, type + (types || "") );
>
> > ...needs to be modified to properly put those namespaced suffixes back
> > into the second argument. I'm not familiar enough with all of the
> > use-cases that this function handles, so I don't know which is the
> > best approach.
>
> > Can anyone else shed some light on this subject?
>
> > --Mike
>
> > On Fri, Apr 24, 2009 at 12:25 PM, Andrea Giammarchi
> > <andrea.giammar...@gmail.com> wrote:
> > > hopefully interesting:
>
> >http://webreflection.blogspot.com/2009/04/divexpando-null-or-divremov...
>
> > > but does not solve this specific problem.
> > > Regards
>
> > > On Fri, Apr 24, 2009 at 5:29 PM, Josh Naro <joshn...@gmail.com> wrote:
>
> > >> Drip seems to claim everything leaks. I've been using sIEve, and it
> > >> seems to give a more accurate account of the references. I also found
> > >> this little jQuery plugin quite useful for eliminating IE references
> > >> (source
>
> >http://groups.google.com/group/jquery-en/browse_thread/thread/b66a0d0...
> > ):
>
> > >> jQuery.fn.discard = function(){
> > >>    var garbageBin = document.getElementById('IELeakGarbageBin');
> > >>    if (!garbageBin) {
> > >>        garbageBin = document.createElement('DIV');
> > >>        garbageBin.id = 'IELeakGarbageBin';
> > >>        //garbageBin.style.display = 'none';
> > >>        document.body.appendChild(garbageBin);
> > >>    }
>
> > >>    this
> > >>        .unbind() //unbind all handlers
> > >>        .each(function(){ // move the element to the garbage bin
> > >>            garbageBin.appendChild(this);
> > >>            garbageBin.innerHTML = '';
> > >>        });
>
> > >>    garbageBin = null;
>
> > >> }
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to jquery-dev@googlegroups.com
To unsubscribe from this group, send email to 
jquery-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to