Подтвердить что ты не робот

Используя изображения для ссылок с <wicket: link>

Я пытаюсь использовать изображение для ссылки, например:

<wicket:link>
    <a href="UploadPage.html">
        <img src="/logo.png"/>
    </a>
</wicket:link>

В отображаемом HTML href <a> правильно установлен на мою страницу загрузки.

Но любопытно, что Wicket добавляет onclick=window.location.href='/logo.png' в тег <img>. Конечным результатом является то, что нажатие на логотип загружает сам логотип, а не страницу загрузки.

Простой подход - не использовать <wicket:link> и жестко кодировать URL-адрес моей страницы загрузки, но я хотел бы знать, есть ли соответствующее решение для этого.

4b9b3361

Ответ 1

Для меня это помогло добавить пустой onClick (Wicket 1.5):

<li><a class="current" href="main">
   <img onClick="" src="img/icons/home.png"/>
</a></li>

после этого ссылка указывает на страницу, а не само изображение

Ответ 2

Добавьте в свой html следующее:

<a wicket:id="linkID"><img src="/logo.png"/></a>

Добавьте в соответствующий класс java следующее:

add(new PageLink<Void>("linkID", new YourWicketPage()));

Или для более общих целей:

add(new Link<Void>("linkID") {
    @Override
    public void onClick()
    {
        // do whatever you want when the link/image is clicked
    }
);

Обратите внимание, что я дал модель Link a Void, так как модель в этом случае не кажется мне необходимой. Однако можно вообразить, что при определенном контексте следует использовать модель для ссылки.

Ответ 4

возможно, вы забыли цитату на "onclick":

onclick="window.location.href='/logo.png'"

Ответ 5

Просто упомянем: использование полного url для тега src должно помочь (http://blah/logo.png), но это не элегантное или портативное решение. Возможно, это ошибка калитки. Может быть, вместо использования div использовать css?