国产成人精品999视频&日本一区二区亚洲人妻精品&久久久精品国产99久久精&99热这里只有成人精品国产&精品国产剧情av一区二区&成人亚洲精品久久久久app&国产精品美女高潮抽搐A片

</> htmx 備忘清單

NPM version Downloads Repo Dependents Github repo

適合初學(xué)者的綜合 htmx 備忘清單

入門

快速開始

htmxintercooler.js 的繼承者

<script
  src="https://unpkg.com/htmx.org@1.8.4"
>
</script>
<!-- 有一個按鈕POST,通過AJAX點擊 -->
<button
  hx-post="/clicked"
  hx-swap="outerHTML"
>
  點擊我
</button>

hx-posthx-swap 屬性告訴 htmx

當(dāng)用戶單擊此按鈕時,向 /clicked 發(fā)出 AJAX 請求,并用響應(yīng)替換整個按鈕

$ npm install htmx.org

安裝 htmx 將導(dǎo)入添加到您的 index.js

import 'htmx.org';

點擊編輯提交

有一個按鈕,可以從 /contacts/1/edit 獲取聯(lián)系人的編輯 UI

<div hx-target="this" hx-swap="outerHTML">
  <div><label>名字</label>: Joe</div>
  <div><label></label>: Blow</div>
  <div><label>郵箱</label>: joe@blow.com</div>
  <button hx-get="/contact/1/edit" class="btn btn-primary">
    點擊編輯
  </button>
</div>

這將返回一個可用于編輯聯(lián)系人的表單

<form hx-put="/contact/1" hx-target="this" hx-swap="outerHTML">
  <div>
    <label>名字</label>
    <input type="text" name="firstName" value="Joe">
  </div>
  <div class="form-group">
    <label></label>
    <input type="text" name="lastName" value="Blow">
  </div>
  <div class="form-group">
    <label>郵箱</label>
    <input type="email" name="email" value="joe@blow.com">
  </div>
  <button class="btn">提交</button>
  <button class="btn" hx-get="/contact/1">取消</button>
</form> 

表單按照通常的 REST-ful 模式將 PUT 發(fā)回 /contacts/1

刪除行

<table class="table delete-row-example">
  <thead>
    <tr>
      <th>Name</th> <th>Email</th> <th>Status</th> <th></th>
    </tr>
  </thead>
  <tbody hx-confirm="Are you sure?" hx-target="closest tr" hx-swap="outerHTML swap:1s">
    ...
  </tbody>
</table>

表體有一個 hx-confirm 屬性來確認(rèn)刪除動作。 它還將所有按鈕的目標(biāo)設(shè)置為最近的 tr,即最近的表格行(hx-target 繼承自 DOM 中的父級)hx-swap 中的交換規(guī)范表示將整個目標(biāo)換出并收到響應(yīng)后等待 1 秒。最后一點是為了讓我們可以使用以下 CSS:

tr.htmx-swapping td {
  opacity: 0;
  transition: opacity 1s ease-out;
}

在交換/刪除之前淡出該行。每行都有一個帶有 hx-delete 屬性的按鈕,該屬性包含發(fā)出 DELETE 請求以從服務(wù)器中刪除該行的 url。此請求以空內(nèi)容響應(yīng),表明該行應(yīng)替換為空內(nèi)容

<tr>
  <td>Angie MacDowell</td>
  <td>angie@macdowell.org</td>
  <td>Active</td>
  <td>
    <button class="btn btn-danger" hx-delete="/contact/1">
      Delete
    </button>
  </td>
</tr>

延遲加載

<div hx-get="/graph" hx-trigger="load">
  <img
    alt="正在加載中..."
    class="htmx-indicator"
    width="150"
    src="/img/bars.svg"/>
</div>

當(dāng)我們加載圖表時顯示進(jìn)度指示器。 然后通過穩(wěn)定的 CSS(htmx-settling) 過渡加載圖形并逐漸淡入視圖

.htmx-settling img {
  opacity: 0;
}
img {
  transition: opacity 300ms ease-in;
}

hx-swap

:----
innerHTML默認(rèn),替換目標(biāo)元素的內(nèi)部 html
outerHTML用響應(yīng)替換整個目標(biāo)元素
beforebegin在目標(biāo)元素之前插入響應(yīng)
afterbegin目標(biāo)元素的第一個子元素之前插入響應(yīng)
beforeend目標(biāo)元素的最后一個子元素之后插入響應(yīng)
afterend在目標(biāo)元素之后插入響應(yīng)
delete無論響應(yīng)如何,都刪除目標(biāo)元素
none不附加來自響應(yīng)的內(nèi)容
(帶外項目仍將被處理)

API 參考

核心屬性參考

屬性說明
hx-boost添加或刪除鏈接和表單的漸進(jìn)增強(qiáng)
hx-get向指定的 URL 發(fā)出 GET
hx-post向指定的 URL 發(fā)出 POST
hx-push-url將 URL 推入瀏覽器地址欄,創(chuàng)建一個新的歷史條目
hx-select從響應(yīng)中選擇要換入的內(nèi)容
hx-select-oob從帶外(目標(biāo)以外的某個地方)的響應(yīng)中選擇要換入的內(nèi)容
hx-swap控制內(nèi)容的交換方式(outerHTMLbeforeEnd、afterend,...)
hx-swap-oob將響應(yīng)中的內(nèi)容標(biāo)記為帶外(應(yīng)該在目標(biāo)以外的地方交換)
hx-target指定要交換的目標(biāo)元素
hx-trigger指定觸發(fā)請求的事件
hx-vals向參數(shù)添加值以隨請求一起提交(JSON 格式)

使用 htmx 時最常用的屬性

附加屬性參考

屬性說明
hx-confirm在發(fā)出請求之前顯示一個 confim() 對話框
hx-delete向指定的 URL 發(fā)出 DELETE
hx-disable禁用給定節(jié)點和任何子節(jié)點的 htmx 處理
hx-disinherit控制和禁用子節(jié)點的自動屬性繼承
hx-encoding更改請求編碼類型
hx-ext用于此元素的擴(kuò)展
hx-headers添加到將與請求一起提交的標(biāo)頭
hx-history-elt在歷史導(dǎo)航期間要快照和恢復(fù)的元素
hx-include在請求中包含額外數(shù)據(jù)
hx-indicator在請求期間放置 htmx-request 類的元素
hx-params過濾將與請求一起提交的參數(shù)
hx-patch向指定的 URL 發(fā)出 PATCH
hx-preserve指定在請求之間保持不變的元素
hx-prompt在提交請求之前顯示一個 prompt()
hx-put向指定的 URL 發(fā)出 PUT
hx-replace-url替換瀏覽器地址欄中的 URL
hx-request配置請求的各個方面
hx-sse已移至分機(jī)。 舊版本的文檔
hx-sync控制不同元素發(fā)出的請求如何同步
hx-validate強(qiáng)制元素在請求之前驗證自己
hx-vars將值動態(tài)添加到參數(shù)以隨請求提交(已棄用,請使用 hx-vals)
hx-ws已移至分機(jī)。舊版本的文檔

列出了 htmx 中可用的所有其他屬性

CSS 類參考

Class說明
htmx-added在交換之前應(yīng)用于新的內(nèi)容,在它被解決之后移除
htmx-indicator一個動態(tài)生成的類,當(dāng)存在 htmx-request 類時將切換可見
(不透明度:1)
htmx-request在請求進(jìn)行時應(yīng)用于元素或使用 hx-indicator 指定的元素
htmx-settling內(nèi)容交換后應(yīng)用于目標(biāo),內(nèi)容確定后刪除。
可以通過 hx-swap 修改持續(xù)時間
htmx-swapping在交換任何內(nèi)容之前應(yīng)用于目標(biāo),在交換之后移除。
可以通過 hx-swap 修改持續(xù)時間

事件參考

事件說明
htmx:abort將此事件發(fā)送到元素以中止請求
htmx:afterOnLoadAJAX 請求完成處理成功響應(yīng)后觸發(fā)
htmx:afterProcessNode在 htmx 初始化節(jié)點后觸發(fā)
htmx:afterRequestAJAX 請求完成后觸發(fā)
htmx:afterSettleDOM 穩(wěn)定后觸發(fā)
htmx:afterSwap換入新內(nèi)容后觸發(fā)
htmx:beforeOnLoad在任何響應(yīng)處理發(fā)生之前觸發(fā)
htmx:beforeProcessNode在 htmx 初始化節(jié)點之前觸發(fā)
htmx:beforeRequest在發(fā)出 AJAX 請求之前觸發(fā)
htmx:beforeSwap在交換完成之前觸發(fā),允許您配置交換
htmx:beforeSend在發(fā)送 ajax 請求之前觸發(fā)
htmx:configRequest在請求之前觸發(fā),允許您自定義參數(shù)、標(biāo)頭
htmx:confirm在元素上發(fā)生觸發(fā)器后觸發(fā)
允許您取消(或延遲)發(fā)出 AJAX 請求
htmx:historyCacheError在緩存寫入期間因錯誤而觸發(fā)
htmx:historyCacheMiss在歷史子系統(tǒng)中的緩存未命中時觸發(fā)
htmx:historyCacheMissError遠(yuǎn)程檢索不成功時觸發(fā)
htmx:historyCacheMissLoad在成功的遠(yuǎn)程檢索時觸發(fā)
htmx:historyRestore當(dāng) htmx 處理歷史恢復(fù)操作時觸發(fā)
htmx:beforeHistorySave在內(nèi)容保存到歷史緩存之前觸發(fā)
htmx:load當(dāng)新內(nèi)容添加到 DOM 時觸發(fā)
htmx:noSSESourceError當(dāng)元素在其觸發(fā)器中引用 SSE 事件
但未定義父 SSE 源時觸發(fā)
htmx:onLoadErrorhtmx中onLoad處理異常時觸發(fā)
htmx:oobAfterSwap在交換了一個帶元素之后觸發(fā)
htmx:oobBeforeSwap在帶外元素交換完成之前觸發(fā),允許您配置交換
htmx:oobErrorNoTarget當(dāng)帶外元素在當(dāng)前 DOM 中沒有匹配的 ID 時觸發(fā)
htmx:prompt顯示提示后觸發(fā)
htmx:pushedIntoHistory在 url 被推送到歷史記錄后觸發(fā)
htmx:responseError當(dāng)發(fā)生 HTTP 響應(yīng)錯誤
(非 200 或 300 響應(yīng)代碼)時觸發(fā)
htmx:sendError當(dāng)網(wǎng)絡(luò)錯誤阻止 HTTP 請求發(fā)生時觸發(fā)
htmx:sseError當(dāng) SSE 源發(fā)生錯誤時觸發(fā)
htmx:swapError在交換階段發(fā)生錯誤時觸發(fā)
htmx:targetError指定無效目標(biāo)時觸發(fā)
htmx:timeout發(fā)生請求超時時觸發(fā)
htmx:validation:validate在驗證元素之前觸發(fā)
htmx:validation:failed當(dāng)元素驗證失敗時觸發(fā)
htmx:validation:halted當(dāng)請求由于驗證錯誤而停止時觸發(fā)
htmx:xhr:abort當(dāng) ajax 請求中止時觸發(fā)
htmx:xhr:loadendajax 請求結(jié)束時觸發(fā)
htmx:xhr:loadstartajax 請求開始時觸發(fā)
htmx:xhr:progress在支持進(jìn)度事件的 ajax 請求期間定期觸發(fā)

JavaScript API 參考

方法說明
htmx.addClass()向給定元素添加一個類
htmx.ajax()發(fā)出一個 htmx 風(fēng)格的 ajax 請求
htmx.closest()找到與選擇器匹配的給定元素的最近父級
htmx.config保存當(dāng)前 htmx 配置對象的屬性
htmx.createEventSource包含為 htmx 創(chuàng)建 SSE EventSource 對象的函數(shù)的屬性
htmx.createWebSocket包含為 htmx 創(chuàng)建 WebSocket 對象的函數(shù)的屬性
htmx.defineExtension()定義一個 htmx 擴(kuò)展
htmx.find()查找與選擇器匹配的單個元素
htmx.findAll() | htmx.findAll(elt, selector)查找與給定選擇器匹配的所有元素
htmx.logAll()安裝將記錄所有 htmx 事件的記錄器
htmx.logger設(shè)置為當(dāng)前記錄器的屬性(默認(rèn)為空)
htmx.off()從給定元素中刪除事件偵聽器
htmx.on()在給定元素上創(chuàng)建事件偵聽器,并返回它
htmx.onLoad()為 htmx:load 事件添加回調(diào)處理程序
htmx.parseInterval()將間隔聲明解析為毫秒值
htmx.process()處理給定元素及其子元素,連接任何 htmx 行為
htmx.remove()刪除給定的元素
htmx.removeClass()從給定元素中刪除一個類
htmx.removeExtension()刪除一個 htmx 擴(kuò)展
htmx.takeClass()從給定元素的其他元素中獲取一個類
htmx.toggleClass()從給定元素切換一個類
htmx.trigger()在元素上觸發(fā)事件
htmx.values()返回與給定元素關(guān)聯(lián)的輸入值

請求標(biāo)頭參考

標(biāo)頭說明
HX-Boosted表示請求是通過使用 hx-boost 的元素發(fā)出的
HX-Current-URL瀏覽器的當(dāng)前 URL
HX-History-Restore-Request如果請求是在本地歷史緩存未命中后進(jìn)行歷史恢復(fù),則為 true
HX-Prompt用戶對 hx 提示的響應(yīng)
HX-Request總是 true
HX-Target目標(biāo)元素的 id(如果存在)
HX-Trigger-Name觸發(fā)元素的名稱(如果存在)
HX-Trigger觸發(fā)元素的 id(如果存在)

響應(yīng)標(biāo)頭參考

標(biāo)頭說明
HX-Location允許您執(zhí)行不執(zhí)行整頁重新加載的客戶端重定向
HX-Push-Url將一個新的 url 推入歷史堆棧
HX-Redirect可用于將客戶端重定向到新位置
HX-Refresh如果設(shè)置為 true,客戶端將完全刷新頁面
HX-Replace-Url替換地址欄中的當(dāng)前 URL
HX-Reswap允許您指定如何交換響應(yīng)
有關(guān)可能的值,請參閱 hx-swap
HX-Retarget將內(nèi)容更新的目標(biāo)更新為頁面上不同元素的 CSS 選擇器
HX-Trigger允許您觸發(fā)客戶端事件
參閱文檔以獲取更多信息
HX-Trigger-After-Settle允許您觸發(fā)客戶端事件
參閱文檔以獲取更多信息
HX-Trigger-After-Swap允許您觸發(fā)客戶端事件
參閱文檔以獲取更多信息