You can confirm that inline handlers execute because it is explicitly encoded :
handle = ontype && cur[ ontype ];
if ( handle && jQuery.acceptData( cur ) && handle.apply( cur, data ) === false ) {
event.preventDefault();
}
where ontypein this case "onclick". Thus, it retrieves the property of the onclickelement and then executes it. This piece of code is always invoked regardless of .trigger/ .triggerHandler.
Own actions, however, are elem.click()performed inside the blockif :
if ( !onlyHandlers && !event.isDefaultPrevented() ) {
elem[ type ]();
where onlyHandlers- truefor triggerHandleand falsefor .trigger, and therefore triggerHandlernot executed, for example. elem.click()(whereas .trigger). As such, native action is prevented.
Therefore, built-in handlers and own actions are separate things and are also processed separately.
.triggerHandler only native actions are prevented.