Я создал следующий класс как расширение gwtbootstrap3 Tooltip. Есть как минимум 2 причины, по которым я хочу получить класс всплывающих подсказок gwtbootstrap3:GWT/GWTBootstrap3 Расширение всплывающей подсказки: Исключение с addHandler в C'tor
1.) Добавить обработчик onWindowClosing, когда показана всплывающая подсказка, чтобы я мог скрыть() всплывающую подсказку, когда пользователь покидает страницу (это - насколько я понимаю - функция, которая также не поддерживается в Bootstrap, не так ли?)
2.) Я хочу, чтобы всплывающие подсказки отображались, когда страница отображается на iPads или iPhone, поскольку они ведут себя странно, когда всплывающие подсказки (первый наконечник показывает всплывающую подсказку, второй конец выполняет кнопку, что не совсем то, что пользователь ожидает)
Обратите внимание, что приведенный ниже класс еще не закончен ... но уже при t на сцене я получаю исключение при добавлении обработчика. Также обратите внимание, что он генерирует исключение независимо от того, какой тип обработчика (ShowHandler, ShownHandler и т. Д.) Я добавляю.
Любая помощь очень ценится.
package com.mypackage.client.widgets.featureWidgets;
import org.gwtbootstrap3.client.shared.event.ShowEvent;
import org.gwtbootstrap3.client.shared.event.ShowHandler;
import org.gwtbootstrap3.client.ui.constants.Trigger;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.Window.ClosingEvent;
public class Tooltip extends org.gwtbootstrap3.client.ui.Tooltip {
private boolean isMobile;
private HandlerRegistration windowClosingHandlerRegistration;
private final Tooltip tooltip;
public Tooltip() {
super();
tooltip = this;
this.addShowHandler(new ShowHandler() {
@Override
public void onShow(final ShowEvent showEvent) {
// TODO Auto-generated method stub
if (windowClosingHandlerRegistration == null) {
windowClosingHandlerRegistration = Window.addWindowClosingHandler(new Window.ClosingHandler() {
@Override
public void onWindowClosing(final ClosingEvent arg0) {
tooltip.hide();
}
});
}
}
});
}
}
When I create a instance of this tooltip using the following:
[...]
<b:ButtonToolBar ui:field="itemButtonToolBar" addStyleNames="hiddenPrint">
<b:ButtonGroup>
<a:Tooltip title="{msgs.buttomTitleAddItem}" container="body">
<b:Button ui:field="addItemButton" icon="PLUS"/>
</a:Tooltip>
[...]
Я получаю следующее исключение при попытке добавить обработчика, почему?
SEVERE: (TypeError) : Cannot read property 'addHandler_11_g$' of undefinedcom.google.gwt.core.client.JavaScriptException: (TypeError) : Cannot read property 'addHandler_11_g$' of undefined
at Unknown.addShowHandler_2_g$([email protected]:57195)
at Unknown.Tooltip_6_g$([email protected]:57685)
at Unknown.build_f_Tooltip2_0_g$([email protected]:31606)
at Unknown.get_f_Tooltip2_0_g$([email protected]:31831)
at Unknown.build_f_ButtonGroup1_0_g$([email protected]:31524)
at Unknown.get_f_ButtonGroup1_0_g$([email protected]:31791)
at Unknown.build_itemButtonToolBar_0_g$([email protected]:31696)
at Unknown.get_itemButtonToolBar_0_g$([email protected]:31876)
at Unknown.createAndBindUi_58_g$([email protected]:31437)
at Unknown.createAndBindUi_59_g$([email protected]:31441)
at Unknown.ItemButtonGroup_2_g$([email protected]:30733)
at Unknown.$init_589_g$([email protected]:37722)
at Unknown.SummaryWidget_1_g$([email protected]:37686)
at Unknown.loadSummaryWidget_0_g$([email protected]:4991)
at Unknown.setSummary_1_g$([email protected]:5028)
at Unknown.onSuccess_8_g$([email protected]:3312)
at Unknown.onSuccess_9_g$([email protected]:3317)
at Unknown.onResponseReceived_0_g$([email protected]:156917)
at Unknown.fireOnResponseReceived_0_g$([email protected]:129224)
at Unknown.onReadyStateChange_0_g$([email protected]:129532)
at Unknown.<anonymous>([email protected]:172082)
at Unknown.apply_0_g$([email protected]:104636)
at Unknown.entry0_0_g$([email protected]:104692)
at Unknown.<anonymous>([email protected]:104672)
Hi Adam, Спасибо за ваше объяснение и вашу помощь. Ты мой герой! – user668338