Thanks, Brandon. So .empty() won't touch events that were bound using a selector on objects inside what is being emptied, right? Gotta use .die() to get rid of them?

- Jack

Brandon Aaron wrote:
The .live() method binds event handlers at a higher level than the
node(s) selected. So, in other words the events aren't actually bound
to specific nodes so they won't be removed when you call empty.

If you need to remove a live event, just call .die(). It is like
.unbind() but for .live() events.
http://docs.jquery.com/Events/die#typefn

--
Brandon Aaron

On Fri, May 29, 2009 at 10:06 PM, Jack Killpatrick <j...@ihwy.com> wrote:
I'm guessing that once a .live() instantiation occurs it's there for good.
If that's the case, is there a way to destroy it? (in particular as it
pertains to a selector).

I'm debating using it in a plugin, but am wary because of what could happen
with multiple instances of the plugin and maybe no ability to destroy it
completely.

Thanks,
Jack

Jack Killpatrick wrote:
Hi All,

Wondering if someone knows the answer to this:

Using jQuery 1.3.2, if some items inside a div have events bound to them
via .live() and then .empty() is called on the div will the events that were
bound via .live() get removed? The .empty() doc says:

http://docs.jquery.com/Manipulation/empty

Note that this function starting with 1.2.2 will also remove all event
handlers and internally cached data.

But something I'm working on makes me think that the .live() events are
not removed. I haven't nailed it down yet.

Thanks,
Jack





Reply via email to