リファレンス

#目次

#コア属性リファレンス

htmxを使用する際に最も一般的な属性です。

属性説明
hx-get指定されたURLにGETリクエストを発行します
hx-post指定されたURLにPOSTリクエストを発行します
hx-on*要素のインラインスクリプトでイベントを処理します
hx-push-url履歴を作成するために、ブラウザのロケーションバーにURLをプッシュします
hx-selectレスポンスからスワップインするコンテンツを選択します
hx-select-oobターゲット以外の場所(アウトオブバンド)から、レスポンスからスワップインするコンテンツを選択します
hx-swapコンテンツのスワップイン方法を制御します(outerHTMLbeforeendafterendなど)
hx-swap-oobレスポンスからスワップインする要素をマークします(アウトオブバンド)
hx-targetスワップされるターゲット要素を指定します
hx-triggerリクエストをトリガーするイベントを指定します
hx-valsリクエストと共に送信する値を追加します(JSON形式)

#追加属性リファレンス

htmxで使用可能な他のすべての属性です。

属性説明
hx-boostリンクとフォームにプログレッシブエンハンスメントを追加します
hx-confirmリクエストを発行する前にconfirm()ダイアログを表示します
hx-delete指定されたURLにDELETEリクエストを発行します
hx-disable指定されたノードとその子ノードのhtmx処理を無効にします
hx-disabled-eltリクエストの処理中に、指定された要素にdisabled属性を追加します
hx-disinherit子ノードの属性の自動継承を制御および無効にします
hx-encodingリクエストのエンコーディングタイプを変更します
hx-extこの要素に使用する拡張機能
hx-headersリクエストと共に送信されるヘッダーに追加します
hx-history機密データが履歴キャッシュに保存されないようにします
hx-history-elt履歴ナビゲーション中にスナップショットを取得して復元する要素
hx-includeリクエストに追加データを含めます
hx-indicatorリクエスト中にhtmx-requestクラスを配置する要素
hx-inheritデフォルトで無効になっている場合、子ノードの属性の自動継承を制御および有効にします
hx-paramsリクエストと共に送信されるパラメータをフィルタリングします
hx-patch指定されたURLにPATCHリクエストを発行します
hx-preserveリクエスト間で変更されないようにする要素を指定します
hx-promptリクエストを送信する前にprompt()を表示します
hx-put指定されたURLにPUTリクエストを発行します
hx-replace-urlブラウザのロケーションバーのURLを置き換えます
hx-requestリクエストのさまざまな側面を設定します
hx-sync異なる要素によって行われたリクエストの同期方法を制御します
hx-validateリクエストの前に要素を強制的に検証させます
hx-varsリクエストと共に送信するパラメータに値を動的に追加します(非推奨、hx-valsを使用してください)

#CSSクラスリファレンス

クラス説明
htmx-added新しいコンテンツがスワップされる前に適用され、確定後に削除されます。
htmx-indicatorhtmx-requestクラスが存在する場合に表示(opacity:1)を切り替える動的に生成されたクラス
htmx-requestリクエストの処理中に、要素またはhx-indicatorで指定された要素に適用されます
htmx-settlingコンテンツがスワップされた後にターゲットに適用され、確定後に削除されます。期間はhx-swapで変更できます。
htmx-swappingコンテンツがスワップされる前にターゲットに適用され、スワップされた後に削除されます。期間はhx-swapで変更できます。

#HTTPヘッダーリファレンス

#リクエストヘッダーリファレンス

ヘッダー説明
HX-Boostedリクエストがhx-boostを使用する要素を介していることを示します
HX-Current-URLブラウザの現在のURL
HX-History-Restore-Requestローカル履歴キャッシュにミスがあった後の履歴復元のリクエストの場合は「true」
HX-Prompthx-promptに対するユーザーの応答
HX-Request常に「true」
HX-Targetターゲット要素のid(存在する場合)
HX-Trigger-Nameトリガーされた要素のname(存在する場合)
HX-Triggerトリガーされた要素のid(存在する場合)

#レスポンスヘッダーリファレンス

ヘッダー説明
HX-Locationページ全体をリロードしないクライアントサイドリダイレクトを実行できます
HX-Push-Url新しいURLを履歴スタックにプッシュします
HX-Redirect新しい場所へのクライアントサイドリダイレクトを実行するために使用できます
HX-Refresh「true」に設定されている場合、クライアントサイドはページの完全な更新を実行します
HX-Replace-Urlロケーションバーの現在のURLを置き換えます
HX-Reswapレスポンスのスワップ方法を指定できます。hx-swapで可能な値を確認してください
HX-Retargetコンテンツ更新のターゲットをページ上の別の要素に更新するCSSセレクター
HX-Reselectレスポンスのどの部分がスワップインに使用されるかを選択できるCSSセレクター。トリガー要素の既存のhx-selectをオーバーライドします
HX-Triggerクライアントサイドイベントをトリガーできます
HX-Trigger-After-Settle確定ステップ後にクライアントサイドイベントをトリガーできます
HX-Trigger-After-Swapスワップステップ後にクライアントサイドイベントをトリガーできます

#イベントリファレンス

イベント説明
htmx:abortリクエストを中止するために、このイベントを要素に送信します
htmx:afterOnLoadAJAXリクエストが成功レスポンスの処理を完了した後にトリガーされます
htmx:afterProcessNodehtmxがノードを初期化した後にトリガーされます
htmx:afterRequestAJAXリクエストが完了した後にトリガーされます
htmx:afterSettleDOMが確定した後にトリガーされます
htmx:afterSwap新しいコンテンツがスワップインされた後にトリガーされます
htmx:beforeCleanupElementhtmxが要素を無効化するか、DOMから削除する前にトリガーされます
htmx:beforeOnLoadレスポンス処理が発生する前にトリガーされます
htmx:beforeProcessNodehtmxがノードを初期化する前にトリガーされます
htmx:beforeRequestAJAXリクエストが行われる前にトリガーされます
htmx:beforeSwapスワップが行われる前にトリガーされ、スワップを設定できます
htmx:beforeSendAJAXリクエストが送信される直前にトリガーされます
htmx:beforeTransitionビュートランジションでラップされたスワップが発生する前にトリガーされます
htmx:configRequestリクエストの前にトリガーされ、パラメータ、ヘッダーをカスタマイズできます
htmx:confirm要素でトリガーが発生した後にトリガーされ、AJAXリクエストの発行をキャンセル(または遅延)できます
htmx:historyCacheErrorキャッシュ書き込み中にエラーが発生したときにトリガーされます
htmx:historyCacheMiss履歴サブシステムでキャッシュミスが発生したときにトリガーされます
htmx:historyCacheMissErrorリモートリトリーバルが失敗したときにトリガーされます
htmx:historyCacheMissLoadリモートリトリーバルが成功したときにトリガーされます
htmx:historyRestorehtmxが履歴復元アクションを処理するときにトリガーされます
htmx:beforeHistorySaveコンテンツが履歴キャッシュに保存される前にトリガーされます
htmx:load新しいコンテンツがDOMに追加されたときにトリガーされます
htmx:noSSESourceError要素がトリガーでSSEイベントを参照しているが、親SSEソースが定義されていない場合にトリガーされます
htmx:onLoadErrorhtmxのonLoad処理中に例外が発生したときにトリガーされます
htmx:oobAfterSwapアウトオブバンド要素がスワップインされた後にトリガーされます
htmx:oobBeforeSwapアウトオブバンド要素のスワップが行われる前にトリガーされ、スワップを設定できます
htmx:oobErrorNoTargetアウトオブバンド要素が現在のDOMに一致するIDを持っていない場合にトリガーされます
htmx:promptプロンプトが表示された後にトリガーされます
htmx:pushedIntoHistoryURLが履歴にプッシュされた後にトリガーされます
htmx:responseErrorHTTPレスポンスエラー(200または300以外のレスポンスコード)が発生したときにトリガーされます
htmx:sendErrorネットワークエラーによってHTTPリクエストが発生しなかった場合にトリガーされます
htmx:sseErrorSSEソースでエラーが発生したときにトリガーされます
htmx:sseOpenSSEソースが開かれたときにトリガーされます
htmx:swapErrorスワップフェーズ中にエラーが発生したときにトリガーされます
htmx:targetError無効なターゲットが指定された場合にトリガーされます
htmx:timeoutリクエストタイムアウトが発生したときにトリガーされます
htmx:validation:validate要素が検証される前にトリガーされます
htmx:validation:failed要素の検証に失敗したときにトリガーされます
htmx:validation:halted検証エラーによりリクエストが停止されたときにトリガーされます
htmx:xhr:abortAJAXリクエストが中止されたときにトリガーされます
htmx:xhr:loadendAJAXリクエストが終了したときにトリガーされます
htmx:xhr:loadstartAJAXリクエストが開始されたときにトリガーされます
htmx:xhr:progress進捗イベントをサポートするAJAXリクエスト中に定期的にトリガーされます

#JavaScript APIリファレンス

メソッド説明
htmx.addClass()指定された要素にクラスを追加します
htmx.ajax()htmxスタイルのAJAXリクエストを発行します
htmx.closest()セレクターに一致する、指定された要素に最も近い親を見つけます
htmx.config現在のhtmx設定オブジェクトを保持するプロパティ
htmx.createEventSourcehtmx用にSSE EventSourceオブジェクトを作成する関数を保持するプロパティ
htmx.createWebSockethtmx用にWebSocketオブジェクトを作成する関数を保持するプロパティ
htmx.defineExtension()htmx 拡張機能を定義します
htmx.find()セレクターに一致する単一の要素を検索します。
htmx.findAll() htmx.findAll(elt, selector)指定されたセレクターに一致するすべての要素を検索します。
htmx.logAll()すべての htmx イベントをログに記録するロガーをインストールします。
htmx.logger現在のロガーに設定されているプロパティ(デフォルトは null です)。
htmx.off()指定された要素からイベントリスナーを削除します。
htmx.on()指定された要素にイベントリスナーを作成し、それを返します。
htmx.onLoad()htmx:load イベントのコールバックハンドラーを追加します。
htmx.parseInterval()間隔宣言をミリ秒値に解析します。
htmx.process()指定された要素とその子要素を処理し、htmx の動作をフックアップします。
htmx.remove()指定された要素を削除します。
htmx.removeClass()指定された要素からクラスを削除します。
htmx.removeExtension()htmx 拡張機能を削除します。
htmx.swap()HTML コンテンツのスワップ(およびセトリング)を実行します。
htmx.takeClass()指定された要素のために、他の要素からクラスを取得します。
htmx.toggleClass()指定された要素のクラスを切り替えます。
htmx.trigger()要素でイベントをトリガーします。
htmx.values()指定された要素に関連付けられた入力値を返します。

#設定リファレンス

Htmx には、プログラムまたは宣言的にアクセスできる設定オプションがいくつかあります。それらを以下にリストします。

設定変数情報
htmx.config.historyEnabledデフォルトは true で、実際にはテストにのみ役立ちます。
htmx.config.historyCacheSizeデフォルトは 10 です。
htmx.config.refreshOnHistoryMissデフォルトは false です。true に設定すると、htmx は履歴ミス時に AJAX リクエストを使用するのではなく、完全なページリフレッシュを実行します。
htmx.config.defaultSwapStyleデフォルトは innerHTML です。
htmx.config.defaultSwapDelayデフォルトは 0 です。
htmx.config.defaultSettleDelayデフォルトは 20 です。
htmx.config.includeIndicatorStylesデフォルトは true です(インディケータースタイルがロードされるかどうかを決定します)。
htmx.config.indicatorClassデフォルトは htmx-indicator です。
htmx.config.requestClassデフォルトは htmx-request です。
htmx.config.addedClassデフォルトは htmx-added です。
htmx.config.settlingClassデフォルトは htmx-settling です。
htmx.config.swappingClassデフォルトは htmx-swapping です。
htmx.config.allowEvalデフォルトは true です。特定の機能(トリガーフィルターなど)に対して htmx の eval の使用を無効にするために使用できます。
htmx.config.allowScriptTagsデフォルトは true です。htmx が新しいコンテンツで見つかった script タグを処理するかどうかを決定します。
htmx.config.inlineScriptNonceデフォルトは '' です。つまり、インラインスクリプトに nonce は追加されません。
htmx.config.inlineStyleNonceデフォルトは '' です。つまり、インラインスタイルに nonce は追加されません。
htmx.config.attributesToSettleデフォルトは ["class", "style", "width", "height"] です。セトリングフェーズ中にセトリングする属性です。
htmx.config.wsReconnectDelayデフォルトは full-jitter です。
htmx.config.wsBinaryTypeデフォルトは blob です。WebSocket 接続で受信されるバイナリデータのタイプです。
htmx.config.disableSelectorデフォルトは [hx-disable], [data-hx-disable] です。htmx は、この属性が設定されている要素または親要素を処理しません。
htmx.config.withCredentialsデフォルトは false です。Cookie、認証ヘッダー、TLS クライアント証明書などの資格情報を使用して、クロスサイト Access-Control リクエストを許可します。
htmx.config.timeoutデフォルトは 0 です。リクエストが自動的に終了するまでのミリ秒数です。
htmx.config.scrollBehaviorデフォルトは「instant」です。show 修飾子を hx-swap と共に使用する場合のスクロール動作です。許可される値は、instant(スクロールは一度に瞬時に行われるべき)、smooth(スクロールは滑らかにアニメーション化されるべき)、auto(スクロール動作は scroll-behavior の計算値によって決定される)です。
htmx.config.defaultFocusScrollフォーカスされた要素をビューにスクロールする必要があるかどうか。デフォルトは false で、focus-scroll スワップ修飾子を使用してオーバーライドできます。
htmx.config.getCacheBusterParamデフォルトは false です。true に設定すると、htmx はターゲット要素を org.htmx.cache-buster=targetElementId の形式で GET リクエストに追加します。
htmx.config.globalViewTransitionstrue に設定すると、htmx は新しいコンテンツをスワップするときに View Transition API を使用します。
htmx.config.methodsThatUseUrlParamsデフォルトは ["get", "delete"] です。htmx は、リクエストボディではなく URL にパラメータをエンコードすることで、これらのメソッドを使用してリクエストをフォーマットします。
htmx.config.selfRequestsOnlyデフォルトは true です。現在のドキュメントと同じドメインへの AJAX リクエストのみを許可するかどうかです。
htmx.config.ignoreTitleデフォルトは false です。true に設定すると、新しいコンテンツに title タグが見つかった場合、htmx はドキュメントのタイトルを更新しません。
htmx.config.scrollIntoViewOnBoostデフォルト値は `true` です。ブーストされた要素のターゲットをビューポートにスクロールするかどうかです。ブーストされた要素で `hx-target` が省略されている場合、ターゲットはデフォルトで `body` になり、ページが先頭にスクロールします。
htmx.config.triggerSpecsCacheデフォルトは null です。評価されたトリガースペシフィケーションを格納するキャッシュであり、メモリ使用量を増やす代わりに解析パフォーマンスを向上させます。単純なオブジェクトを定義してクリアされないキャッシュを使用するか、プロキシオブジェクトを使用して独自のシステムを実装できます。
htmx.config.responseHandlingレスポンスステータスコードのデフォルトの レスポンス処理 動作は、ここでスワップまたはエラーに設定できます。
htmx.config.allowNestedOobSwapsデフォルトは true です。メインレスポンス要素内にネストされた要素で OOB スワップを処理するかどうか。 ネストされた OOB スワップ を参照してください。

JavaScript で直接設定することも、meta タグを使用することもできます。

<meta name="htmx-config" content='{"defaultSwapStyle":"outerHTML"}'>