明示的にコーディングされているため、インラインハンドラーが実行されていることを確認できます。
handle = ontype && cur[ ontype ];
if ( handle && jQuery.acceptData( cur ) && handle.apply( cur, data ) === false ) {
event.preventDefault();
}
ontype
この場合はどこにありますか"onclick"
。つまりonclick
、要素のプロパティをフェッチして実行します。このコードは、.trigger
/に関係なく常に呼び出され.triggerHandler
ます。
ただし、のようなネイティブアクションは、ブロック内でelem.click()
のみ実行されます。if
if ( !onlyHandlers && !event.isDefaultPrevented() ) {
// ...
elem[ type ]();
ここで、onlyHandlers
はtrue
fortriggerHandle
およびfalse
for.trigger
であるため、実行さtriggerHandler
れません。たとえば、実行されますelem.click()
(実行さ.trigger
れます)。そのため、ネイティブアクションは防止されます。
したがって、インラインハンドラーとネイティブアクションは別々のものであり、別々に処理されます。ネイティブアクションのみがによって防止され.triggerHandler
ます。