Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
<input> 要素の button 型は、プッシュボタンとして描画され、イベントハンドラー関数 (ふつうは click イベント) を割り当てることで、ウェブページのあらゆる場所でカスタム機能を制御するようにプログラムすることができます。
メモ: <input> 要素の button 型は完全に妥当な HTML ですが、より新しい <button> 要素が、ボタンの作成にはより好まれるようになりました。 <button> のラベル文字列は開始タグと終了タグの間に挿入され、ラベルに画像を含む HTML を含めることができます。
<input type="button"> 要素の value 属性には、ボタンのラベルとして使われる文字列を設定します。 value はボタンのアクセシブル説明を指定します。
value を指定しなかった場合は、無印のボタンになります。
<input type="button"> 要素には既定の動作がありません(親戚である <input type="submit"> や <input type="reset"> は、それぞれフォームの送信とリセットに使用されます)。ボタンに何かをさせる場合は、処理を行うための JavaScript コードを書く必要があります。
基本的なボタンに click イベントハンドラーを設定し、マシンを起動させましょう(つまり、ボタンの value と続く段落の文字列コンテンツを切り替えます)。
このスクリプトは DOM で <input> を表す HTMLInputElement オブジェクトの参照を受け取り、この参照を変数 button に保存します。addEventListener() は、ボタンに click イベントが発生したときに実行される関数を設定します。
ショートカットキーは、アクセスキーやキーボードショートカットとも呼ばれますが、ユーザーがキーボード上のキーまたはキーの組み合わせを使用してボタンを操作できるものです。ボタンにショートカットキーを追加するには、どの <input> でも同じですが、 accesskey グローバル属性を使用します。
この例では、 s がアクセスキーとして指定されています (ブラウザーと OS の組み合わせによっては、 s と特定の修飾キーの組み合わせが必要です。その一覧については accesskey を参照してください)。
メモ: 上記の例では、ユーザーがアクセスキーが何であるかを知ることができないという問題があります。実際のサイトでは、この情報を、サイトのデザインに干渉しない方法で提供する必要があります (たとえば、簡単にアクセスできるリンクを設置して、サイトのアクセスキーに関する情報を指すなど)。
ボタンを無効にするには、次のように disabled グローバル属性を指定するだけです。
実行時に disabled に true または false を設定するだけで、ボタンを有効化したり無効化したりすることができます。この例では、ボタンは有効の状態で始まりますが、押すと button.disabled = true を使用して無効化されます。それから setTimeout() 関数を使用して、2 秒後にボタンの状態を有効の状態にリセットしています。
disabled 属性が指定されなかった場合、ボタンは disabled の状態を親要素から継承します。これによって、複数の要素を <fieldset> 要素のようなコンテナーの中に入れ、コンテナーに disabled を設定することで、一括で有効化したり無効化したりすることができます。
以下の例はこの操作を表しています。これは一つ前の例ととても似ていますが、最初のボタンが押されたときに disabled 属性が <fieldset> に設定され、2 秒経過するまで 3 つのボタンがすべて無効になります。
メモ: Firefox は他のブラウザーと異なり、ページが再読み込みされた後でも <input> 要素の disabled 状態を維持します。回避するには、 <input> 要素の autocomplete 属性を off に設定します。(詳しくは Firefox バグ 654072 を参照してください。)
ボタンに対して制約検証は行われません。制約すべき値はありません。
以下の例では、 <canvas> 要素といくらかの CSS と JavaScript を使用して作成した、とても基本的なお絵かきアプリを紹介します。 (簡略化のため CSS を省略します)。上部の 2 つのコントロールで、色と描画するペンの大きさを選択できます。ボタンは、クリックすると、キャンバスを消去する関数を呼び出します。
| 値 | ボタンのラベルとして使われる文字列 |
| イベント | click |
| 対応している共通属性 | type および value |
| IDL 属性 | value |
| DOM インターフェイス | HTMLInputElement |
| メソッド | なし |
| 暗黙の ARIA ロール | button |
| HTML # button-state-(type=button) |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2025年7月22日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.