jQuery’s event system normalizes the event object according to W3C standards. The event object is guaranteed to be passed to the event handler. Most properties from the original event are copied over and normalized to the new event object.
jQuery.Event Constructor
The jQuery.Event constructor is exposed and can be used when calling trigger. The new operator is optional.
Check trigger’s documentation to see how to combine it with your own event object.
Example:
//Create a new jQuery.Event object without the "new" operator.
var e = jQuery.Event("click");
// Create a new jQuery.Event object with the "new" operator (optional).
var e = new jQuery.Event("click");
Event Properties
The following properties are guaranteed to be members of the event object, though some of their values may be undefined, depending on the event:
altKey, attrChange, attrName, bubbles, button, cancelable, charCode, clientX, clientY, ctrlKey, currentTarget, data, detail, eventPhase, fromElement, handler, keyCode, layerX, layerY, metaKey, newValue, offsetX, offsetY, originalTarget, pageX, pageY, prevValue, relatedNode, relatedTarget, screenX, screenY, shiftKey, srcElement, target, toElement, view, wheelDelta, which
jQuery normalizes the following properties for cross-browser consistency:
targetrelatedTargetpageXpageYwhichmetaKey
event.preventDefault() was ever called on this event object. event.stopImmediatePropagation() was ever called on this event object.event.stopPropagation() was ever called on this event object. undefined. 
