at.js не работает в редакторе fraola, если область emojionearea объединена в одном редакторе
Я хочу добавить как emojione, так и at.js (автозаполнение) с текстовым полем редактора froala. emojione работает нормально, но at.js не работает.
версии: froala_editor v3.1.0 EmojioneArea v3.1.5 at.js - 1.5.3
Вот мой фрагмент:
// Define data source for At.JS.
var datasource = ["Jacob", "Isabella", "Ethan", "Emma", "Michael", "Olivia" ];
// Build data to be used in At.JS config.
var names = $.map(datasource, function (value, i) {
return {
'id': i, 'name': value, 'email': value + "@email.com"
};
});
// Define config for At.JS.
var config = {
at: "@",
data: names,
displayTpl: '<li>${name} <small>${email}</small></li>',
limit: 200
}
$('#froala-editor').emojioneArea({
autocomplete: false,
pickerPosition: "top",
tonesStyle: "bullet",
saveEmojisAs: "unicode"
});
// Initialize editor.
$('#froala-editor')
.on('froalaEditor.initialized', function (e, editor) {
editor.$el.atwho(config);
editor.events.on('keydown', function (e) {
if (e.which == $.FroalaEditor.KEYCODE.ENTER && editor.$el.atwho('isSelecting')) {
return false;
}
}, true);
})
.froalaEditor()
<div id="froala-editor">
</div>
1 ответ
Решение
Похоже, вы используете синтаксис V2 для инициализации Froala. Попробуйте инициализировать его так:
// Initialize editor.
var editor = new FroalaEditor('#froala-editor', {
events: {
initialized: function() {
$(editor.el).atwho(config);
editor.events.on('keydown', function (e) {
if (e.which == FroalaEditor.KEYCODE.ENTER && $(editor.el).atwho('isSelecting')) {
return false;
}
}, true); }
}
});