[GWT] Заблокировать событие браузера в случае ссылки - PullRequest
0 голосов
/ 30 мая 2009

Я хочу обработать событие в случае ссылки моего собственного прослушивателя событий. Если мы нажмем на ссылку в браузере, браузер откроет адрес, указанный в ссылке, но я хочу вызвать свой собственный прослушиватель событий. Я попытался сделать это в GWT, удалив атрибут тега привязки, который работал, но это не чистое решение. Поэтому, если у вас есть идеи, как заблокировать браузер от открытия этой ссылки, пожалуйста, ответьте.

Ответы [ 3 ]

3 голосов
/ 02 июня 2009

В GWT 1.6 правильный код:

ClickHandler foo = new ClickHandler() { 
    public void onClick(ClickEvent event) {

        /// do your stuff

        event.stopPropagation(); // stops the event from bubbling to parent

        event.preventDefault();  // prevents the browsers default action,
                                 // following a link, etc
    }
}

Это примерно эквивалентно:

<a href="#" onclick="return false">Link</a>
0 голосов
/ 02 июня 2009

Вы можете просто позвонить event.cancel() (GWT 1.6) или

Event.getCurrentEvent().cancelBubble(true);              // In 1.4 and earlier
DOM.eventCancelBubble(DOM.eventGetCurrentEvent(), true); // In 1.5

Существует также способ отменить событие из его экземпляра в GWT 1.5, но я не могу вспомнить.

0 голосов
/ 30 мая 2009

Разве это не то, что делает этот виджет:

http://google -web-toolkit.googlecode.com / СВН / Javadoc / 1,6 / ком / Google / GWT / пользователь / клиент / щ / Hyperlink.html

Например: это выглядит как обычная гиперссылка, но позволяет обрабатывать событие onclick?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...