Javascript уничтожает некоторые смайлы - PullRequest
0 голосов
/ 08 мая 2020

У меня странная проблема. Я использую EmojioneArea - плагин jQuery, который позволяет преобразовать любой элемент html в простой редактор WYSIWYG с возможностью использования значков Emojione.

Я реализовал 2 метода для сохранения форма. Нажав «Enter» или нажав кнопку. Отправка формы с помощью «Enter» работает нормально, но отправка формы при нажатии кнопки уничтожает некоторые смайлы, и вместо правильных смайлов появляются два символа.

<form id="chatform" accept-charset="UTF-8">
<textarea id="msginput" class="msginput"></textarea>
<button class="bg2" id="sendb"><img class="w36" src="submit.png" alt=""></button>
<div id="photo" type="button"><a href="#" class="lphoto" ><img class="w4" src="foto.png" alt="" /></a></div>
</form>

Это отлично работает:

$("#msginput").emojioneArea({
useInternalCDN:false,
pickerPosition:"top",
autocomplete: false,
events:{
emojibtn_click:function(button,event){this.hidePicker();},
keyup:function(){updateTyping();},
keypress: function(editor,event) {
if (event.which == 13 && !event.shiftKey && senter == '1') {
event.preventDefault();
runChat(13);
event.target.blur();
return false;
} else {
return false;
}}}
});

но это не:

$("#sendbutton").click(function(){
event.preventDefault();
runChat(13);
event.target.blur();
return false;
});

Другие функции:

function runChat() {
socket.emit('stop typing');
saveChat();
typing = false;
return false;
};



function saveChat() {

var message = $("#msginput").data("emojioneArea").getText();
console.log(message);
...
...

}

enter image description here

Я пробовал с чистым javascript:

document.getElementById('sendbutton').onclick = function()

Пробовал с jquery в разных вариациях

$(document).on('click',"#sendbutton",function()

Тот же результат - 2 символа.

При этом код ниже передает смайлы правильно, но форма отправляется автоматически, после выбора смайлика и без нажатия кнопки:

$(document).on("#sendb").click(function()

Если форма отправляется правильно, почему все другие варианты создают смайлик из 2 символов?

...