2012-05-31 3 views
5

Я создал свой собственный hookImageDialog для загрузки файлов непосредственно в редакторе.Pagedown Editor insertimagedialog hook

  $('div#insertImageDialog input[type=file]').ajaxfileupload({ 
       action: $file.attr('data-action'), 
       onStart: function() { 
        $loader.show(); 
       }, 
       onComplete: function(response) { 
        $loader.hide(); 
        if (response.success) { 
         callback(response.imagePath); // <---- oO 
         dialogClose(); 
        } else { 
         alert(response.message); 
         $file.val(''); 
        } 
       } 
      }); 

Это прекрасно работает при первом вставке изображения.

Каждый раз после того, как он терпит неудачу за исключением следующего:

Uncaught TypeError: Cannot call method 'removeChild' of null Markdown.Editor.js:1683 commandProto.doLinkOrImage.linkEnteredCallback Markdown.Editor.js:1683 self.initMarkdownEditor.editor.hooks.set.$.ajaxfileupload.onComplete

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

Вытягивали мои волосы на протяжении большей части дня.

ответ

2

Вопрос был два раза

  1. Я не понимаю, что крюк вызывается каждый раз, когда пользователь нажимает на кнопку изображения. Это означало, что я фактически настраивал несколько обработчиков изменений для загрузки файлов.
  2. Плагин загрузки, который я использовал, ожидал, что обработчик будет зарегистрирован один раз (даже если мы его очистим).

Я зарегистрировал полное рабочее решение на своем blog.

+0

Я прочитал ваше сообщение, но у меня все еще есть проблемы. Я получаю, что hook получает вызов каждый раз, но почему это настраивает несколько обработчиков изменений? –

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