jquery file upload报错 TypeError: Object [object Object] has no method 'progressbar'

本周在用jquery file upload这个插件做文件上传功能。但是打开页面的时候,浏览器控制台报错:

TypeError: Object [object Object] has no method 'progressbar'

然后看了一下具体的位置,在jquery.fileupload-jquery-ui.js的_create方法中,就是这个方法的最后一句:.end().find('.progress').progressbar();

_create: function () {
            this._super();
            this.element
                .find('.fileupload-buttonbar')
                .find('.fileinput-button').each(function () {
                    var input = $(this).find('input:file').detach();
                    $(this)
                        .button({icons: {primary: 'ui-icon-plusthick'}})
                        .append(input);
                })
                .end().find('.start')
                .button({icons: {primary: 'ui-icon-circle-arrow-e'}})
                .end().find('.cancel')
                .button({icons: {primary: 'ui-icon-cancel'}})
                .end().find('.delete')
                .button({icons: {primary: 'ui-icon-trash'}})
                .end().find('.progress').progressbar();
        },
似乎是找到了class为progress的组件,但是这个对象没有progressbar()这个方法,然后在几个相关的js文件中找了一圈,都没有找到progressbar()方法的定义。难道是我没有引用定义这个方法的js文件?。。。

然后百度,一条有价值的信息都没有。没办法,翻墙用谷歌,一下子就找到了有用的信息:


从这两个老外的对话看,应该就是没有引用相关的js文件了。看到“jQuery UI library” 这个词,忽然想到些什么。

刚开始做这个功能的时候,各种插件都是从这个网址下的:http://plugins.jquery.com/blueimp-file-upload/


得到的是一个名为blueimp-jQuery-File-Upload-9.7.0-0-g91b20e5的文件夹,里面有一堆的js文件。而问题就来了,导致progressbar报错的那个没有被引用的文件,恰恰不在这个文件夹里。而需要从另外一个网址下,百度jQuery UI library,进入第一个网址:http://jqueryui.com/



这个和刚才不同,这个更多得提供了UI方面的内容,下载得到的文件夹名为:jquery-ui-1.11.0

而在这个文件夹里,有一个名为jquery-ui.js的文件,这个文件中才定义了progressbar方法,然后将这个js引用到页面上,OK,不报错了。


老外虽然技术很牛,能做出jquery这一套插件,。。。但是既然上传功能是比较完整的一个大模块,怎么就不能把相关的js一起打包进去让别人下载呢。。。害我绕了这么一大圈。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鹰信息技术服务部

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值