GWT: Ajouter un gestionnaire d'événement sur tous les éléments div
Comment faire pour ajouter un gestionnaire d'événement sur tous les éléments div avec GWT?
J'ai essayé le code suivant, mais la fenêtre alertes ne sont pas fired up (Mais "etvoila" la classe est mis en place):
private NodeList<Element> pageDIVElements;
public void initDiv() {
MyDIVEventHandler handler = new MyDIVEventHandler();
pageDIVElements = Document.get().getElementsByTagName("div");
for (int i = 0; i < pageDIVElements.getLength(); i++) {
Element elem = pageDIVElements.getItem(i);
elem.addClassName("etvoila");
com.google.gwt.user.client.Element castedElem = (com.google.gwt.user.client.Element) elem;
DOM.setEventListener(castedElem, handler);
}
class MyDIVEventHandler implements EventListener {
private Element divElement;
@Override
public void onBrowserEvent(Event event) {
Window.alert("Yeepee");
if (event.equals(Event.ONMOUSEOVER)) {
Window.alert("ONMOUSEOVER");
divElement = Element.as(((NativeEvent) event).getEventTarget());
divElement.setPropertyString("background-color", "#C6D4E6");
} else if (event.equals(Event.ONMOUSEOUT)) {
divElement = Element.as(((NativeEvent) event).getEventTarget());
divElement.setAttribute("background-color", "");
}else if (event.equals(Event.ONCLICK)) {
divElement = Element.as(((NativeEvent) event).getEventTarget());
divElement.setAttribute("background-color", "");
Window.alert("ONCLICK");
}
}
}
Ce qui est mauvais dans cette méthode?
Vous devez vous connecter pour publier un commentaire.
Vous ressemble negelected récepteur d'événements que vous voulez l'auditeur à être averti des.
Dans ce cas, par exemple, je voudrais ajouter la ligne suivante dans initDiv à l'élément ou les enfants.
De même pour cette question, vous pouvez l'envelopper dans un
Label
.