Как добавить смайл в поле ввода
<a href="">😀</a>
<a href="">😅</a>
<a href="">😪</a>
<a href="">🥵</a>
<form name="form1" method="post" action="">
<input type="text" name="textfield">
</form>
Как реализовать работу так, чтоб при клике на ссылку(смайл), у меня он добавлялся в поле ввода (input). Если можно как то лучше реализовать, то буду рад идеям!
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
вот более-менее универсальный код:
для каждого смайлика я добавил свой атрибут my-data-smile в котором содержится код для смайлика
событие нажатия мышки повешено на все окно, чтобы отслеживать нажатие на нужные смайлики (по имени класса)
а дальше берем значение атрибута и вставляем в поле
window.addEventListener('click', function(event){
if (event.target.classList.contains('smile'))
{
let edit = document.querySelector('.edit');
edit.value += event.target.attributes['my-data-smile'].value;
}
});
.smile {
display: inline-block;
width: 15px;
height: 15px;
margin-right: 5px;
cursor: pointer;
}
<div class = 'smile' my-data-smile = '😀'>😀</div>
<div class = 'smile' my-data-smile = '😅'>😅</div>
<div class = 'smile' my-data-smile = '😪'>😪</div>
<div class = 'smile' my-data-smile = '🥵'>🥵</div>
<form name="form1" method="post" action="">
<input type="text" name="textfield" class = 'edit'>
</form>
P.S.
я только сделал добавление в конец текста, а по хорошему надо сделать добавление на место курсора (если он стоит) - это уж автор сам доделай