hx-preserve
hx-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
元素也将保留其状态none
,同时使用可能包含 hx-preserve
元素的请求,以避免丢失它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>