जीडब्ल्यूटी के साथ सभी div तत्वों पर इवेंट हैंडलर कैसे जोड़ें? मैं निम्नलिखित कोड की कोशिश की लेकिन खिड़की अलर्ट निकाल दिया जाता है नहीं (लेकिन "etvoila" वर्ग की स्थापना की है):जीडब्ल्यूटी: सभी div तत्वों पर एक ईवेंट हैंडलर जोड़ें
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");
}
}
}
क्या इस विधि में गलत क्या है?
कोड में अपने समाधान का उपयोग कैसे करें? मैं इसे काम नहीं कर सकता। – djondal
लाइन से पहले निम्नलिखित जोड़ें "DOM.setEventListener (castedElem ..." : DOM.sinkEvents (castedElem, Event.ONCLICK | Event.ONMOUSEOUT | Event.ONMOUSEOVER); –
आपको कॉमफ़ोर्स को elem डालना होगा। gwt.user.client.Element –