вставка эмоджи в textarea
на странице присутствует <textarea id=text...
через расширение я туда добавляю перед ним свой textarea на странице внедрен плагин (вставка эмоджи) cssscript.com/fg-emoji-picker/ который настроен на единственный textarea new FgEmojiPicker({ trigger: ['button', 'textarea'], position: ['bottom', 'right'], emit(obj, triggerElement) { const emoji = obj.emoji; document.querySelector('textarea').value += emoji; } });но так как мои textarea выше, то все эможди вставляются в мой textarea можно это как-то исправить? |
od0201, попробуйте так:
new FgEmojiPicker({ trigger: ['button', 'textarea'], position: ['bottom', 'right'], emit(obj, triggerElement) { const emoji = obj.emoji; if (triggerElement instanceof HTMLInputElement || triggerElement instanceof HTMLTextAreaElement) { triggerElement.value += emoji; } } }); p.s. библиотека - говно, хоть и выглядит неплохо. |
Цитата:
может есть возможность переопределить функцию emit или textarea поставить вторым, но визуально чтоб он стоял первым |
Цитата:
Переопределить можно было бы, если бы созданный экземпляр этой библиотеки сохранялся в глобальной области видимости либо был бы доступным из вне, однако это не так. Можно было бы сбросить вообще все слушатели со всех элементов button и textarea, если бы эта библиотека вешала слушатели на них, однако она делегирует слушателя элементу body. Можно сбросить вообще все слушатели со всего документа, но тогда на странице единственным работающим скриптом будет эта библиотека. Цитата:
|
Цитата:
<html> <script src="http://code.jquery.com/jquery-1.8.3.js"></script> <style> .container { display: flex; flex-direction: column-reverse; } </style> <div class=container> <div style="background: #FFFAC0;height: 300px;width:300px"> <textarea>первый</textarea></div> <div style="background: #AFFAC0;height: 200px;width:200px"> <textarea>второй</textarea></div> </div></html> <script> $('div textarea:first').val('новый') </script> но хотелось бы переопределить функцию emit |
Цитата:
Может быть кто-нибудь более квалифицированный подскажет вам решение вашей задачи. |
Часовой пояс GMT +3, время: 14:39. |