@gibson042 I guess I've done that in the first commit https://github.com/jure/jquery/commit/3e26d328214afcceb77e3100107ebad7e32cd365#diff-031bb62d959e7e4949d1847c82507f33R424, just a bit higher up, as that whole section doesn't make sense to run on non-element nodes. Looks like there's more than one way to address this, but there might be big performance differences between the two (two commits, two ways).

With regards to the `jQuery.event.fix` issue, I added that check *before* `if nodeType == 3` gets executed and the target changed to something else. So it still works just fine. What exactly is the jsfiddle example showing? Here's how I understand it:

1. click button
2. previous sibling is text node, remove it
3. DOMNodeRemoved gets called on the text node
4. target gets changed to parentNode, so the container

That's the first part, which I guess is fine, even though changing the target to the parentNode seems a bit strange to me. What if there are other text nodes in the parentNode, or other element nodes? We've just told jQuery that the whole container experienced a DOMNodeRemoved.

So the second part of that example goes:

1. click button again
2. previous sibling is comment node, remove it
3. DOMNodeRemoved gets called on the node, nodeType 8
4. jQuery tries to handle it
5. Sizzle.attr fails because the comment nodes don't have getAttribute()

What I'm saying is that steps 4 and 5 shouldn't exist. jQuery should not handle events on non-element nodes (with the exception of document, nodeType 9).

@dmethvin: Not sure I follow wrt the fixhook. The fixhook I posted works fine for me, i.e.:

```
$.event.fixHooks['DOMNodeRemoved'] = {
  filter: function (event, original) {
    if(original.target.nodeType === 1)  {
      return event;
    } else {
      return false;
    }
  }
};
```

Is there anything wrong / non-working with it that I'm not seeing? My thoughts were only that the user shouldn't be writing fixHooks for something like this, it should be handled by jQuery somehow.