我使用GWTBootstrap3 v0.9.1。
我想显示一个Popover ,其中包含存储在数据库中的内容。因此,当用户第一次悬停元素时,弹出窗口会显示\/\*(.*?)\*\/
信息。同时我从数据库中获取了正确的文本,并希望用新的内容替换Popover的内容。
我认为这段代码可以解决问题:
Please wait...
但它不起作用:popover消失了,不再显示了。
我知道Bootstrap用户有solutions,但是当我使用 GWT -Bootstrap时,我想在不使用jQuery的情况下在 GWT 中执行此操作。
答案 0 :(得分:2)
在这种情况下,我只是编写jquery的本机javascript方法来实现它。
更好的是我在GWT-Bootstrap库中更改它并执行pull请求,以便它在主repo中合并。
我过去为GWT-Bootstrap3做了类似的事情,很快就在主回购中合并了。
答案 1 :(得分:2)
该主题已经得到解答,但有一个GWT工作。 isAnimated
属性为true
时,重新配置方法无效。只需在初始化时将其关闭。
答案 2 :(得分:1)
我遵循@ Knarf的建议并使用原生方法,因为我找不到纯粹的GWT解决方案:
private native void updatePopover(Element element, String popoverHtml, boolean shown) /*-{
var $popover = $wnd.jQuery(element);
$popover.data('bs.popover').options.content = popoverHtml;
if(shown)
$popover.popover('show');
}-*/;
其中:
element
是弹出窗口小部件的元素(具有弹出窗口的元素)popoverHtml
是新内容shown
表示在更新期间是否显示popover 我通过ShowHandler和HideHandler跟踪可见状态:
uiPopover.addShowHandler(new ShowHandler() {
@Override
public void onShow(ShowEvent event) {
popoverVisible = true;
}
});
uiPopover.addHideHandler(new HideHandler() {
@Override
public void onHide(HideEvent event) {
popoverVisible = false;
}
});
修改强>: 使用ShowHandler和HideHandler代替ShownHandler和HiddenHandler会更好。