Инициирование редактор после макета был обновлен, кажется, решить проблему для меня:
document.addEventListener('mdl-componentupgraded', function (e) {
if (typeof e.target.MaterialLayout !== 'undefined') {
// Create editor JS here
$('textarea').sceditor({
plugins: 'bbcode',
style: 'https://cdn.jsdelivr.net/sceditor/1.5.1/jquery.sceditor.default.min.css'
/* any other options options here */
});
}
});
Для MyBB вы вам нужно переместить JS, которая создает редактор в обработчик события так он вызывается после того, как MDL обновил макет. Если вы не можете переместить JS, вам нужно будет удалить и заново создать его редактор, чтобы исправить это:
document.addEventListener('mdl-componentupgraded', function (e) {
if (typeof e.target.MaterialLayout !== 'undefined') {
// Remove any previous instance first
$('textarea').sceditor('instance').destroy();
// Create the editor
$('textarea').sceditor({
plugins: 'bbcode',
style: 'https://cdn.jsdelivr.net/sceditor/1.5.1/jquery.sceditor.default.min.css'
/* any other options options here */
});
}
});
Очень некрасиво, но должен работать для SCE.
MDL, вероятно, будет конфликтовать с любым другим JS, хотя перемещение MyBB JS внутри обработчика событий было бы лучшим решением, если можно.
Он отлично работал, спасибо вам большое! – maniacmusic
Он тоже работает для ckeditor, спасибо! Кажется, это общая проблема редактора WSYWYG. – user3322829