Bootstrap 的 HTML 标记的工具提示部分未被 GWT 项目解释
Bootstrap's tooltip part of HTML tag is not interpreted by GWT Project
我目前在 GWT 项目工作,想在非常具体的情况下使用 Bootstraps 工具提示:
这是关于什么的:
该程序的一部分使用户能够进入界面。该界面包含文本框,他可以在其中输入文本。保存此文本后,可以从程序的另一页查看。
重要:用户输入的文本可以是纯文本,也可以是HTML然后被解释。所以如果用户想显示一个 HTML 列表而不是像这样
- 第一项
- 第二项
- 第三项
他只需输入
<ul><li>first item</li><li>second item</li><li>third item</li></ul>
而不是纯文本。
这个例子工作正常,样式定义也工作正常。
问题是什么:
如果我想在与上述完全相同的界面和文本框中使用 Bootstraps 工具提示,则它不起作用。
如果我在文本框中输入以下内容
<a href="#" data-toggle="tooltip" title="Hooray!">Hover over me</a>
“悬停在我身上”显示为 link(蓝色),悬停时会按预期加下划线。
但是当悬停时只显示正常标题“Hooray!”而不是 Bootstraps 标题。
我按照 https://www.w3schools.com/bootstrap/bootstrap_tooltip.asp 中的描述初始化了工具提示:
<script>
$(document).ready(function(){
$('[data-toggle="tooltip"]').tooltip();
});
</script>
此脚本位于 GWT 的基础 HTML 文件中。
如何处理:
在 GWT 项目内部,首先从文本框中获取纯字符串,然后使用该字符串创建一个 HTML 小部件(动态),然后如前所述在其他地方进一步显示。
注:
我无法更改输入信息的方式,因为用户可以按照上述方式自由输入信息,这一点至关重要。
为什么我需要这个:
为了也为触摸设备启用工具提示。
工具提示是否可能在错误的时间初始化?
我的意思是,工具提示在打开程序的一开始就被初始化。但是要到达可以看到工具提示的程序部分,必须通过几个界面单击。也许工具提示应该只在 entering/loading 相应区域的确切时间初始化?
如果有人有想法,那将是一个很大的帮助。
简而言之 - 您需要在将 bootstrap 工具提示添加到 DOM 结构后对其进行初始化。
在bootstrapdocumentation中您可以阅读:
For performance reasons, the Tooltip and Popover data-apis are opt-in, meaning you must initialize them yourself.
当文档就绪时,将调用您显示的脚本。它会找到参数 data-toggle
设置为 tooltip
值的所有元素(请参阅 documentation)。然后,对于所有这些元素,它调用 bootstrap tooltip init 函数。如果您添加新的工具提示,它不会自动初始化。
您可以使用此方法初始化新的工具提示:
private native void initTooltips() /*-{
$wnd.jQuery("[data-toggle='tooltip']").tooltip();
}-*/;
我目前在 GWT 项目工作,想在非常具体的情况下使用 Bootstraps 工具提示:
这是关于什么的:
该程序的一部分使用户能够进入界面。该界面包含文本框,他可以在其中输入文本。保存此文本后,可以从程序的另一页查看。
重要:用户输入的文本可以是纯文本,也可以是HTML然后被解释。所以如果用户想显示一个 HTML 列表而不是像这样
- 第一项
- 第二项
- 第三项
他只需输入
<ul><li>first item</li><li>second item</li><li>third item</li></ul>
而不是纯文本。
这个例子工作正常,样式定义也工作正常。
问题是什么:
如果我想在与上述完全相同的界面和文本框中使用 Bootstraps 工具提示,则它不起作用。
如果我在文本框中输入以下内容
<a href="#" data-toggle="tooltip" title="Hooray!">Hover over me</a>
“悬停在我身上”显示为 link(蓝色),悬停时会按预期加下划线。
但是当悬停时只显示正常标题“Hooray!”而不是 Bootstraps 标题。
我按照 https://www.w3schools.com/bootstrap/bootstrap_tooltip.asp 中的描述初始化了工具提示:
<script>
$(document).ready(function(){
$('[data-toggle="tooltip"]').tooltip();
});
</script>
此脚本位于 GWT 的基础 HTML 文件中。
如何处理:
在 GWT 项目内部,首先从文本框中获取纯字符串,然后使用该字符串创建一个 HTML 小部件(动态),然后如前所述在其他地方进一步显示。
注:
我无法更改输入信息的方式,因为用户可以按照上述方式自由输入信息,这一点至关重要。
为什么我需要这个:
为了也为触摸设备启用工具提示。
工具提示是否可能在错误的时间初始化? 我的意思是,工具提示在打开程序的一开始就被初始化。但是要到达可以看到工具提示的程序部分,必须通过几个界面单击。也许工具提示应该只在 entering/loading 相应区域的确切时间初始化?
如果有人有想法,那将是一个很大的帮助。
简而言之 - 您需要在将 bootstrap 工具提示添加到 DOM 结构后对其进行初始化。
在bootstrapdocumentation中您可以阅读:
For performance reasons, the Tooltip and Popover data-apis are opt-in, meaning you must initialize them yourself.
当文档就绪时,将调用您显示的脚本。它会找到参数 data-toggle
设置为 tooltip
值的所有元素(请参阅 documentation)。然后,对于所有这些元素,它调用 bootstrap tooltip init 函数。如果您添加新的工具提示,它不会自动初始化。
您可以使用此方法初始化新的工具提示:
private native void initTooltips() /*-{
$wnd.jQuery("[data-toggle='tooltip']").tooltip();
}-*/;