Pagedown编辑器insertimagedialog钩子

时间:2012-05-31 16:20:58

标签: javascript markdown pagedown

我已经创建了自己的insertImageDialog挂钩,允许直接在编辑器中上传文件。

            $('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('');
                    }
                }
            });

第一次插入图像时效果很好。

每次之后,它都会失败并出现以下异常:

  

未捕获的TypeError:无法调用null的方法'removeChild'   Markdown.Editor.js:1683 commandProto.doLinkOrImage.linkEnteredCallback   Markdown.Editor.js:1683   self.initMarkdownEditor.editor.hooks.set。$。ajaxfileupload.onComplete

上传在编辑器之外工作正常,所以我只能认为这是回调的某种范围问题。

在一天中的大部分时间里,我一直把头发拉过来。

1 个答案:

答案 0 :(得分:2)

问题是双重的

  1. 我没有意识到用户点击图片按钮时,钩子被称为时间。这意味着我实际上是为文件上传设置了多个“更改”处理程序。
  2. 我正在使用的上传插件需要注册一次处理程序(即使我们清除它)。
  3. 我在blog上记录了完整的工作解决方案。