After this patch:
```javascript
// in Angular.js
// Method signature:
//     jqLitePatchJQueryInsert(name)
// all jQuery methods that can insert an element into DOM
jqLitePatchJQueryInsert('append');
jqLitePatchJQueryInsert('prepend');
jqLitePatchJQueryInsert('before');
jqLitePatchJQueryInsert('after');
jqLitePatchJQueryInsert('replaceWith');
jqLitePatchJQueryInsert('wrapAll');

// in jqLite.js
function jqLitePatchJQueryInsert(name){
	var originalJqFn = jQuery.fn[name];
	originalJqFn = originalJqFn.$original || originalJqFn;
	insertPatch.$original = originalJqFn;
	jQuery.fn[name] = insertPatch;

	function insertPatch() {
	  // jshint -W040
	  var elementsAttached = jQuery(arguments[0]),
	    originalResult = originalJqFn.apply(this, arguments);
	  if(elementsAttached){
	    elementsAttached.triggerHandler('$attach', elementsAttached);
	  }
	  return originalResult;
	}
}

```
It does emit these events. It is the exact same kind of jQuery function patch that alredy exists in angular.js for jQuery `remove`, `empty` and `html` functions. It's called `jqLitePatchJQueryRemove`