2016-09-23 1 views
0

나는 버튼을 처음 클릭하면 잘 작동하지만 그 후에는 더 이상 초기화하지 않습니다. 오류는 없습니다. 편집기를 다시 얻으려면 페이지를 새로 고침해야합니다.php/jquery 게시물에 의해 생성 된 텍스트 영역에 주석이 있습니다.

페이지를 새로 고치지 않고도 모달을 열 때마다 텍스트 영역에 init 편집기를 가져올 수 있습니까?

$(document).ready(function() { 

    $(document).on('click', '.btn.modal', function() { 
    var title = $('.modal-title'), 
     content = $('.modal-body'), 
     footer = $('.modal-footer'); 

    $.post('units.php', { addnew: 'unit' }, function(r) { 
     title.html(r.title); 
     content.html(r.content); 
     footer.html(r.btns); 
     tinymce.init({ selector: 'textarea' }); 
     $('#modal').modal('show'); 
    },'json'); 
    }); 

}); 
+0

예,로드 된 순간에 초기화하여 ... – Naruto

+0

tinymce.init is 이미 게시물 응답 안에? – Diamonte

+1

당신은 그것을 초기화하고 있습니다. 그렇지만 일반적인 방법을 사용하고 있습니다. 아마도 당신이 처음 사용했던 init과 충돌 할 것입니다. 그래서 가장 좋은 추측은 당신이 먼저 그들을 모두 파괴 한 후에 다시 초기화해야한다는 것입니다. – Naruto

답변

0

문제는 이미 초기화 된 텍스트 영역과 충돌하는 일반 초기화를 사용하고 있다는 것입니다. 이런 식으로 다시 초기화하는 다음

$('textarea').tinymce().re‌​move();   

과 : 당신의 예에서

tinymce.init({ selector: 'textarea' }); 

이 될 것입니다 :

이 문제를 해결하는 가장 좋은 방법은 먼저 모든 초기화 TinyMCE에 파괴 사용하는 것입니다

$(document).ready(function() { 

    $(document).on('click', '.btn.modal', function() { 
    var title = $('.modal-title'), 
     content = $('.modal-body'), 
     footer = $('.modal-footer'); 

    $.post('units.php', { addnew: 'unit' }, function(r) { 
     title.html(r.title); 
     content.html(r.content); 
     footer.html(r.btns); 
     $('textarea').tinymce().re‌​move(); 
     tinymce.init({ selector: 'textarea' }); 
     $('#modal').modal('show'); 
    },'json'); 
    }); 

});