html - 如何使用 utext 悬停表格
问题描述
我对百里香有utext
疑问。我想将表格显示为悬停。
这是我的代码
<td class="CellWithHtmlContent" th:title="${event.note}">
<span class="CellContent" ></span>
<span th:if="${event.note != null}"
th:utext="${!#strings.startsWith(event.note,'<') ? #strings.abbreviate(event.note, 60) : 'More'}"></span>
</td>
我曾经th:title
在悬停时显示表格。但它只显示html代码。使用th:utext
, 可以正确显示表格。但它不是作为悬停。有什么方法可以th:utext
在里面使用th:title
吗?
像这样 -->th:title = utext(${event.note})
解决方案
Thymeleaf 不支持这一点。不可能让浏览器在title
属性中呈现 HTML。请参阅是否可以在标题属性中添加 html?
您将需要使用类似https://atomiks.github.io/tippyjs/的东西
将此 JavaScript 片段添加到您的页面:
<script>
document.addEventListener('DOMContentLoaded', function (event) {
tippy('.tooltip', {
content(reference) {
const id = reference.getAttribute('data-tooltipid');
const template = document.getElementById(id);
return template.innerHTML;
},
allowHTML: true
});
});
</script>
现在,添加如下内容:
<td class="CellWithHtmlContent" th:title="${event.note}">
<span class="CellContent" ></span>
<span th:if="${event.note != null}"
th:attr="data-tooltipid=${'cell-tooltip-'+event.id}"></span>
</td>
(我假设event
有一个id
。您将需要一些东西来使当前页面上每个工具提示的工具提示引用唯一)。
现在,页面上还有一些隐藏的 HTML,它们将由 Tippy 库加载到工具提示中:
<div th:id="${'cell-tooltip-'+event.id}" class="hidden">
<span th:if="${event.note != null}"
th:utext="${!#strings.startsWith(event.note,'<') ? #strings.abbreviate(event.note, 60) : 'More'}"></span>
</div>
id
隐藏的 HTML 的 与data-tooltipid
工具提示的匹配很重要。
推荐阅读
- java - Dockerized spring 应用程序在所有端点上抛出 401
- amazon-web-services - 如何配置 AWS Route 53 域以指向 Godaddy 托管
- angular - 复杂的可观察链异步只订阅一次
- python - 如何在python中调用用户定义函数中声明的变量
- python - 在与python文件相同的文件夹中定义文件位置
- dataframe - 嵌套的json扁平化火花数据框
- html - 将列用作表中的行
- python - python中datetime模块的isoformat函数返回不正确的偏移量
- javascript - THREE.js 不渲染图像
- r - 带有每个国家/地区值的交互式欧洲地图