0

У меня есть проект, в котором я использую модальный формат с формой и ckeditor, а вход Link не работает.Вход CKEditor Link не работает в модальном

Вот скрипка, которая воссоздает эту проблему:

http://jsfiddle.net/8t882a2s/3/

И код этого примера.

HTML:

 <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
      <div class="modal-dialog"> 
       <div class="modal-content"> 
        <div class="modal-header"> 
         <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> 
         <h4 class="modal-title" contenteditable="true" id="myModalLabel">Modal title</h4> 
        </div> 
        <div id="bodyModal" contenteditable="true" class="modal-body"> 
         ... 
        </div> 
        <div class="modal-footer"> 
         <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
         <button type="button" class="btn btn-primary">Save changes</button> 
        </div> 
       </div> 
      </div> 
     </div> 

<button type="button" class="btn btn-default navbar-btn margin-right-button-nav" data-toggle="modal" data-target="#myModal"><span class="glyphicon glyphicon-new-window"></span> Edit Modal</button> 

JS:

CKEDITOR.disableAutoInline = true; 

$(document).ready(function() { 
    $('#myModal').on('shown.bs.modal', function() { 
     CKEDITOR.inline('myModalLabel'); 
     CKEDITOR.inline('bodyModal'); 
    })  
}); 

Это не совсем мой код, но ошибка та же. Если вы нажмете в модальном режиме, а затем попробуйте добавить ссылку, вы не сможете написать url в поле ввода.

Спасибо :)

ответ

1

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

$.fn.modal.Constructor.prototype._enforceFocus = function() { 
       var $modalElement = this.$element; 
       $(document).on('focusin.modal',function(e) { 
        if ($modalElement[0] !== e.target 
         && !$modalElement.has(e.target).length 
         && $(e.target).parentsUntil('*[role="dialog"]').length === 0) { 
         $modalElement.focus(); 
        } 
       }); 
      }; 

если ваш ход на начальной загрузки 3, то override $.fn.modal.Constructor.prototype.enforceFocus insdead.

Смежные вопросы