我正在将鸟舍链接到文件管理器中以编辑文件存储中的图像。
从一系列拇指开始,一旦用户点击它,我就会将图像打开到模态窗口中,在打开模态窗口之前更新图像的src属性
在模态窗口上有一个用于在鸟舍中编辑的按钮,用于打开鸟舍,加载图像。
如果我点击thumb1然后编辑图像,一切都按预期工作。我在编辑thumb2时遇到了问题。
它会在模态窗口中打开正确的图像,然后按预期正确打开鸟舍中的图像。但是 - 在加载鸟舍窗口的初始调整大小时会出现问题。
最初显示临时图像,然后在此图像后面调整大小(显示更大的图像)。临时图像保留在屏幕上,然后是鸟舍。
在新的负载下,一切都按预期工作,但不是第二次加载。
我在控制台日志中可以看到的错误是:
Uncaught TypeError: Cannot call method 'isUsingHiResDimensions' of undefined
有没有办法,一旦我关闭第一张图像上的模态以清除鸟舍的任何设置,下次就开始干净利落?
我正在使用此功能调用鸟舍:
$(document).ready(function() {
$('.thumbnail').click(function(event) {
var imagePreview = $('#image1');
imagePreview.attr('src',$(this).attr('href'));
$('#editImageLink').click(function(event) {
return launchEditor('image1', imagePreview.attr('src'));
});
$('#imagePreview').modal('show');
return false;
});
});
我的鸟舍初始化在这里:
var featherEditor = new Aviary.Feather({
apiKey: 'mycode',
apiVersion: 3,
theme: 'dark', // Check out our new 'light' and 'dark' themes!
tools: 'all',
appendTo: '',
onSave: function(imageID, newURL) {
var img = document.getElementById(imageID);
img.src = newURL;
},
onError: function(errorObj) {
alert(errorObj.message);
}
});
function launchEditor(id, src) {
featherEditor.launch({
image: id,
url: src
});
return false;
}
不知道除了页面刷新之外我需要做什么来清除和重新开始,我们非常感谢您的帮助。
答案 0 :(得分:1)
您将越来越多的点击事件绑定到editImageLink
,因此其中的代码不止一次运行。
正确的绑定是:
$(document).ready(function() {
var imagePreview = $('#image1');
$('.thumbnail').click(function(event) {
imagePreview.attr('src',$(this).attr('href'));
$('#imagePreview').modal('show');
return false;
});
$('#editImageLink').click(function(event) {
return launchEditor('image1', imagePreview.attr('src'));
});
});