У меня есть DIV, представляющий синий цвет с текстом «HELLO», который, когда пользователь нажимает на него, меняет свой цвет на RED и текст «BYE», а когда пользователь перемещает курсор мыши, восстанавливает исходный цвет и текст. Эти стили описаны в CSS, а текст управляется из GWT Events (см. Код Java ниже).Событие OnMouseOut не срабатывает при быстром перемещении мыши (GWT - все браузеры)
Проблема заключается в том, что при очень быстром перемещении мыши событие ONMOUSEOUT не запускается в любом браузере. Но отлично работает, если я двигаюсь медленно.
Любые идеи, пожалуйста? БЛАГОДАРЯ
myfile.html
<div id="boxDiv" class="myStyle"></div>
MyFile.java
final Element boxDiv = DOM.getElementById("boxDiv");
DOM.sinkEvents((com.google.gwt.user.client.Element)boxDiv,Event.ONCLICK | Event.ONMOUSEOUT);
DOM.setEventListener((com.google.gwt.user.client.Element)boxDiv,new EventListener(){
public void onBrowserEvent(Event e) {
Element targetDiv = DOM.eventGetTarget(e);
switch (DOM.eventGetType(e)) {
case Event.ONCLICK: onClickHandler(e, targetDiv); break;
case Event.ONMOUSEOUT: onMouseOutHandler(e, targetDiv); break;
}
}
Спасибо Ренато. Это очень хорошее решение для того, что я описал, но представьте, что, например, я должен изменить отображаемый ТЕКСТ, после события mouseOut. Как мне это сделать? – Arturo
Ну, неважно ... когда у вас есть GWT, вам больше ничего не нужно ... взгляните на мой отредактированный ответ, пожалуйста ....Дайте мне знать, если это решит вашу проблему. – Renato
Спасибо Ренато. Оно работает! – Arturo