кнопка изображения с HTML5 - PullRequest
9 голосов
/ 16 марта 2012

Я пытаюсь сделать кнопку изображения.Я использую / изучаю html5 и jquery mobile.это мой пример кода:

<img src="img/beer.png" alt="beer" />
<input type="image" src="img/beer.png" />

изображение отображается, но тип ввода не показывает изображение.что я делаю не так?

Ответы [ 2 ]

21 голосов
/ 16 марта 2012

<input type="image" src="img/beer.png" /> предназначен для сбора координат. Если вы хотите использовать его в качестве кнопки отправки, вам нужно добавить onsubmit -вент, например,

<input type="image" src="img/beer.png" onsubmit="submit();" />

Но вам лучше использовать <button> -элемент, который является более гибким. Может содержать текст, изображения или оба:

<button type="submit" name="beer" value="beer_btn_was_clicked">
  Here's some optinal text
  <p> you can even put it in a paragraph! </p>

  And you don't even need JavaScript!

  <img src="img/beer.png" />
</button>

Редактировать (2016-02-12)

На сегодняшний день * приведенный выше пример не считается действительным на 100%, поскольку <p> -элементы больше не допускаются в <button> -элементе .

В соответствии с HTML-ссылкой MDN единственная разрешенная категория контента в <button> -элементе - это так называемый Фразирующий контент :

Содержание фразы определяет текст и разметку, которую он содержит. Прогоны фразировки составляют абзацы.

Элементы этой категории: <abbr>, <audio>, <b>, <bdo>, <br>, <button>, <canvas>, <cite>, <code>, <command>, <datalist>, <dfn>, <em>, <embed>, <i>, <iframe>, <img>, <input>, <kbd>, <keygen>, <label>, <mark>, <math> , <meter>, <noscript>, <object>, <output>, <progress>, <q>, <ruby>, <samp>, <script>, <select>, <small>, <span>, <strong>, <sub>, <sup>, <svg>, <textarea>, <time>, <var>, <video>, <wbr> и простой текст (не только состоящий из символов пробелов).

Несколько других элементов принадлежат к этой категории, но только если выполняется определенное условие:

  • <a>, если он содержит только фразировочный контент
  • <area>, если это потомок элемента
  • <del>, если он содержит только фразировочный контент
  • <ins>, если он содержит только фразировочный контент
  • <link>, если присутствует атрибут itemprop
  • <map>, если он содержит только фразировочный контент
  • <meta>, если присутствует атрибут itemprop

* сегодня было то, что я читал об этом, а не когда было внесено изменение

1 голос
/ 16 марта 2012

http://jsfiddle.net/cyB7B/

Это работает для меня ... у вас есть другой код, который может мешать? CSS может быть?

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