結論
「buttonタグ」のtype属性の初期値が submit だからです。
詳細
下記のコードは同じになるというわけです。
<button>ボタン</button>
<button type="submit">ボタン</button>
- 1行目のコードに関しては、「buttonタグ」のtype属性の初期値は
submitなので、このボタンをクリックするとsubmitのイベントが発火します。 - formタグで
type="submit"が指定してある「button」要素をクリックすると、submitのイベントが発火します。
submitを発火させたくない場合
<button type="button">ボタン</button>
上記のコードだと、ボタンをクリックしても submit のイベントは発火しません。
以下のサイトを参考にさせていただきました。