«Принудительный корневой блок» TinyMCE вызывает проблемы с Google Chrome - PullRequest
0 голосов
/ 03 декабря 2018

Когда я изменяю forced_root_block на false в конфигурации TinyMCE, это вызывает проблемы при вводе пробелов в Google Chrome.Пробел, кажется, «повесить».Нет проблем с Microsoft Edge.Я не уверен, когда эта проблема началась, так как я не использую Chrome все время, но я думаю, только недавно.Я использую эту настройку, потому что мне нужны разрывы строк <br> вместо абзацев <p> с клавишей ввода.

Я попытался воспроизвести это поведение в приведенном ниже фрагменте кода, но не могу его запустить,В любом случае, вот такой же пример на моем собственном сайте.Можно ли решить эту проблему или это проблема Chrome?

Редактировать: Похоже, что существует проблема с пробелами, использующими Internet Explorer, независимо от настройки forced_root_block.Хотя пробел не зависает, он производит вместо обычных пробелов.Поэтому я предполагаю, что проблема связана с TinyMCE, а не с браузером.

tinymce.init({
  selector: 'textarea',
  height: 150,
  width: 400,
  theme: 'modern',
  verify_html: false,
  menubar: false,
  statusbar: false,
  forced_root_block: false,
  paste_as_text: true,
  plugins: [
    'advlist autolink lists link image charmap print preview hr anchor pagebreak',
    'searchreplace wordcount visualblocks visualchars code fullscreen',
    'insertdatetime media nonbreaking save table contextmenu directionality',
    'emoticons template paste textcolor colorpicker textpattern imagetools'
  ],
  toolbar1: 'bold italic | link | forecolor backcolor emoticons emoji | removeformat',
  contextmenu: 'paste | link image inserttable | cell row column deletetable',
  image_advtab: true,

  relative_urls: false,
  remove_script_host: true,
});
<script src="//cdn.tinymce.com/4/tinymce.min.js"></script>
<form id="form1">
  <textarea id="fldMessage" cols="58" rows="15" runat="server"></textarea>
</form>

1 Ответ

0 голосов
/ 03 декабря 2018

Когда вы устанавливаете forced_root_block: false, вы говорите TinyMCE вставлять <br> при нажатии Enter, в отличие от создания нового элемента блока (<p>).

Что вы хотите, чтобы произошлокогда нажата кнопка Enter ?TinyMCE либо создаст новый блок, либо вставит разрыв строки - хотите другое поведение?Если это так, вам нужно будет захватить нажатие клавиши Enter и сделать то, что вы хотите программно.

...