hx-preserve
hx-preserve
属性允许您在HTML替换过程中保持元素不变。
当htmx更新任何祖先元素时,设置了hx-preserve
的元素会通过id
被保留。
您必须为元素设置一个不变的id
才能使hx-preserve
生效。
响应中需要包含具有相同id
的元素,但其类型和其他属性会被忽略。
hx-preserve
不具有继承性hx-preserve="true"
或直接使用hx-preserve
作为布尔属性<input type="text">
(会丢失焦点和光标位置)、iframe或某些类型的视频。对于这些情况,我们推荐使用morphdom扩展,它能进行更精细的DOM协调hx-preserve
元素的状态也会被保留none
与可能包含hx-preserve
元素的请求一起使用,以免丢失元素hx-preserve
可能导致元素从当前位置移除并重新定位到新位置,当交换部分/越界响应时<div id="new_location">
视频已重新定位到这里
<div id="video" hx-preserve></div>
</div>
<div id="notify" hx-swap-oob="true">
通知已更新但保持相同保留内容
<div id="retain" hx-preserve></div>
</div>