对于这个主题感到抱歉,我不知道用一个简单的短语来解决这个问题......
我想我'过度编码了'一点点。
我的问题是我想在function publishOnWall ()
函数myDropzone.processQueue();
执行,但我当然不会工作,因为它之前没有定义过。重要的是,我必须得到function (response)
的{{1}}部分,但我不知道如何做到这一点,我可以在提交按钮功能中获取此函数的响应
更新:所以进度是:我点击提交按钮,它会检查是否已经上传了图片,然后如果我已经登录过facebook,那么它调用该函数在facebook墙上发布。如果Facebook墙上的发布成功,则会上传图片。
您有什么想法让我这样做吗?
这是我的代码的摘录:
function puslishOnWall()
答案 0 :(得分:2)
您将publishOnFbWall
定义为不带参数的函数,但需要来自对象myDropzone
的资源/上下文/行为。为什么不将myDropzone
对象作为参数传递给处理程序:
submitButton.addEventListener('click', function () {
if ($('#ImageUploadPreview').children('div').hasClass('dz-preview dz-image-preview')) {
if (logIn()) {
// Note change here
publishOnFbWall(myDropzone);
} else {
logIn();
// Note change here
publishOnFbWall(myDropzone);
}
} else {
$('.dz-default span').replaceWith('<span class="no-image"><i class="fa fa-times"></i><br/>Upload an image</span>');
}
});
<强> [编辑] 强>
然后在函数声明中添加myDropZone作为参数:
function publishOnFbWall(myDropzone) {
答案 1 :(得分:1)
你可以简单地让publishOnFbWall
需要一个参数并传入myDropzone
。例如:
function publishOnFbWall(dropzone) {
// ...
dropzone.processQueue();
// ...
}
然后在您的事件监听器中传入myDropzone
:
if (logIn()) {
publishOnFbWall(myDropzone);
} // ...
关于它是关闭的评论在这里也不是真的。您可以详细了解here。