Используя tinyMCE 4.2, мне нужно изменить текст (пользовательской) кнопки на панели инструментов каждый раз, когда пользователь щелкает в любом месте редактора.TinyMCE 4 изменить текст панели инструментов на текстовом редакторе
Это соответствующий код:
tinymce.init({
//code ommitted...
toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image jbimages navigationbutton glossary",
setup: function(editor){
//add "Glossary" button
editor.addButton('glossary', {
name: 'glossary',
text: 'Glossary',
onclick: function(){
/*
//commented on purpose
var button = this;
var updatedButtonText = "Some updated button text";
button.text = updatedButtonText;
*/
}
});//end addButton
editor.on('click', function(){
var updatedButtonText = "Some updated button text";
//update the button text:
editor.buttons.glossary.text = updatedButtonText; //doesn't work
window.parent.tinyMCE.activeEditor.buttons.glossary.text = updatedButtonText; //doesn't work either
//confirm changes:
console.log(editor.buttons.glossary.text); //correctly prints "Some updated button text"
console.log(window.parent.tinyMCE.activeEditor.buttons.glossary.text); //correctly prints "Some updated button text" as well
});
}//end setup
});//end tinymce.init
Так что проблема на самом деле является то, что, в то время как text
свойство на кнопку объекта делает изменения, это изменение не отражается в редакторе, где текст кнопки остается «Глоссарий» , Интересно, если я сделаю то же самое с помощью функции кнопки onclick
(так что, если я раскомментирую блок комментариев с комментариями), тогда она отлично работает, как ожидалось, - текст кнопки обновляется в редакторе.
Я провел часы в документации TinyMCE 4, пытаясь найти некоторую релевантную информацию, но, судя по всему, напрасно. Есть идеи?
Вау, я этого не ожидал. Поэтому он действительно обновит кнопку, если свойство 'text' будет изменено, если в ** ** включена функция' onclick', но она не будет обновлять его, если свойство 'text' изменяется, когда в ** редакторе ** 'onclick' функция? Потому что, если это так, мне не очень-то понятно, почему это было бы так ... – pazof
Я не могу получить текст кнопки для изменения в пользовательском интерфейсе, даже если я помещаю код в собственную кнопку onClick мероприятие. (Он изменится в объекте JavaScript, но не визуально на панели инструментов) Можете ли вы сделать скрипт JS, показывающий, что он работает? –