我发现很少有类似的问题,但没有一个对我有用...... 我有jquery插件加载了require.js(它在视图脚本之后加载)我需要在输入更改时访问它的方法,我确实尝试在reder中执行它但是它是相同的。这就是我到目前为止所拥有的。
events: {
"change #signageUploadInput": "loadingImage"
},
loadingImage: function(event) {
$('body').loadImage(
event.target.files[0],
function (img) {
document.body.appendChild(img);
},
{maxWidth: 600}
);
}
Object [object Object]没有方法'loadImage'
答案 0 :(得分:1)
结果可以从骨干视图访问脚本IS。问题是插件试图访问窗口对象的方式。我使用了不同的脚本,效果很好。这就是我用过的东西:
uploader.js
function my_uploader(evt) {
var files = evt.target.files; // FileList object
// Loop through the FileList and render image files as thumbnails.
for (var i = 0, f; f = files[i]; i++) {
// Only process image files.
if (!f.type.match('image.*')) {
continue;
}
var reader = new FileReader();
// Closure to capture the file information.
reader.onload = (function(theFile) {
return function(e) {
// Render thumbnail.
var span = document.createElement('span');
span.innerHTML = ['<img class="thumb" src="', e.target.result,
'" title="', escape(theFile.name), '"/>'].join('');
document.getElementById('list').insertBefore(span, null);
};
})(f);
// Read in the image file as a data URL.
reader.readAsDataURL(f);
}
}
骨干视图脚本
events: {
"change #signageUploadInput": "loadImage",
},
loadImage: function(evt) {
my_uploader(evt); //script is inside fileuploader.js
}
答案 1 :(得分:0)
当您加载页面或Backbone事件触发时,此错误何时出现?因为如果是在页面加载的时候,Backbone可能会尝试在require.js加载你的插件文件之前完成所有事件和函数的编译。需要更多信息来解决这个问题,您是否可以使用require.js将您要加载的部分发布到JavaScript文件中?