Для таких вещей, как это вы лучше выгрузив в текстовое поле с элементом, чтобы показать более сложный дисплей, используя .click()
и .blur()
события. Here is an example, с которым вы можете поиграть.
HTML:
<div class="container">
<textarea class="text-area hidden"></textarea>
<div class="text-area icon-example"></div>
</div>
CSS:
.container {
position: relative;
display:inline-block;
}
.text-area {
width: 200px;
height: 50px;
border:1px solid #ccc;
display:inline-block;
}
.icon-example:after {
content: url(http://www.stat.ncsu.edu/dept-icons/camera-icon.gif);
position:absolute;
z-index:9999;
right: 3px;
bottom: 6px;
}
.hidden {
display:none;
}
JQuery:
$('.text-area').click(function() {
$(this).hide();
$(this).parent().find('textarea').show();
});
$('textarea').blur(function() {
$(this).parent().find('div').text($(this).val()).show();
$(this).hide();
});
Вы можете взять мой пример гораздо дальше, играя с CSS в DIV и текстовое поле, так что их внешний вид в конечном итоге соответствует друг другу. Я сделал это раньше, и это можно сделать совместимым с несколькими браузерами.
Если вы проверите элемент в своем браузере, вы, вероятно, обнаружите, что значок просто абсолютно расположен над текстовым полем. Трудная часть будет заключаться в том, как реализовать это с изменяемым размером текстового поля. В этом случае вам, вероятно, понадобится использовать javascript для вычисления размера текстового поля и применения этих измерений к содержащему элементу div. – Jbird