используя изображения для ссылок с <wicket: link> - PullRequest
12 голосов
/ 03 июня 2011

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

<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-адрес моей страницы загрузки, но я хотел бы знать, есть ли для этого правильное решение.

Ответы [ 5 ]

2 голосов
/ 17 февраля 2012

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

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

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

1 голос
/ 27 октября 2011

Добавьте следующее в ваш 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 Void, поскольку модель в данном случае не кажется мне необходимой.Тем не менее, вполне возможно, что с учетом определенного контекста следует использовать модель для ссылки.

0 голосов
/ 15 июля 2011

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

onclick="window.location.href='/logo.png'"
0 голосов
/ 13 августа 2011

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

0 голосов
/ 07 июня 2011

Вы уже проверили ответ в Как сделать ссылку на калитку в виде изображения?

Какую версию калитки вы используете?

...