Javascript 带有jquery插件的backbone.js视图

Javascript 带有jquery插件的backbone.js视图,javascript,jquery,backbone.js,underscore.js,Javascript,Jquery,Backbone.js,Underscore.js,我发现很少有类似的问题,但没有一个对我有用。。。 我已经用require.js加载了jquery插件(它在查看脚本之后加载),我需要在输入更改时访问它的方法,我曾尝试在reder中这样做,但都是一样的。这就是我目前所知道的 events: { "change #signageUploadInput": "loadingImage" }, loadingImage: function(event) { $('body').loadImage( event.targ

我发现很少有类似的问题,但没有一个对我有用。。。 我已经用require.js加载了jquery插件(它在查看脚本之后加载),我需要在输入更改时访问它的方法,我曾尝试在reder中这样做,但都是一样的。这就是我目前所知道的

events: {
    "change #signageUploadInput": "loadingImage"
},

loadingImage: function(event) {
    $('body').loadImage(
        event.target.files[0],
        function (img) {
            document.body.appendChild(img);
        },
        {maxWidth: 600}
    );
}

对象[Object Object]没有方法“loadImage”

何时出现此错误,何时加载页面或在主干上触发事件?因为如果是在页面加载时,主干可能会在require.js加载插件文件之前尝试遍历并编译所有事件和函数。需要更多的信息来解决这个问题,你能用require.js发布你在JavaScript文件中加载的部分吗?

事实证明,脚本可以从主干视图访问。问题在于插件试图访问窗口对象的方式。我使用了不同的脚本,效果很好。我就是这么用的:

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);
    }
}

删除了我的答案。无法读取您正在使用的插件。我可以问一下您使用的插件是什么吗?我使用的插件错误发生在正确的时间:)在输入更改时,这意味着它会在我需要它时做出反应,但无法访问插件的代码只是查看它们的API文档,您确定它与jQuery兼容吗?在我看来,它不像jQuery插件,只是加载图像的
窗口
对象的扩展。这就解释了为什么你的
对象[Object Object]也没有方法“loadImage”
错误,因为如果它是一个插件,就不会有问题。可能会尝试同样的方法,但使用与API文档相同的代码,因此
window.loadImage()
。它对window.loadImage()也会这样做
events: {
    "change #signageUploadInput": "loadImage",
},
loadImage: function(evt) {
    my_uploader(evt);   //script is inside fileuploader.js
}