hx-preservehx-preserve 属性允许您在 HTML 替换期间保持元素不变。
设置了 hx-preserve 的元素在 htmx 更新任何祖先元素时会按 id 保留。
您必须在元素上设置一个不变的 id,以使 hx-preserve 正常工作。
响应需要一个具有相同 id 的元素,但其类型和其他属性将被忽略。
hx-preserve 不会被继承hx-preserve="true" 或将其作为布尔属性,仅使用 hx-preserve<input type="text">(焦点和光标位置会丢失)、iframe 或某些类型的视频。要处理其中一些情况,我们推荐使用 morphdom 扩展,它会进行更精细的 DOM
协调hx-preserve 元素的状态也会被保留hx-preserve 元素的请求中使用设置为 none 的 hx-swap,以避免丢失它hx-preserve 可能会导致元素从当前位置移除并重新定位到新位置,当交换部分/oob 响应时<div id="new_location">
Just relocated the video here
<div id="video" hx-preserve></div>
</div>
<div id="notify" hx-swap-oob="true">
Notification updated but keep the same retain
<div id="retain" hx-preserve></div>
</div>