我从网站上获得了一些使用Fine Uploder的代码,并且我在使用它时遇到了一些问题。
我在控制台中收到以下错误
Uncaught TypeError: Object [object Object] has no method 'on'
我使用的代码如下:
// Instantiate a Fine Uploader instance:
$("#manual-fine-uploader").fineUploader({
autoUpload: false,
request: {
endpoint: "/uploads_bucket"
}
}).on("complete", function (event, id, name, response) {
submitForm.call(this);
}).on('statusChange', function (event, id, oldStatus, newStatus) {
if (newStatus === qq.status.CANCELLED) {
submitForm.call(this);
}
});
非常感谢任何帮助。
干杯,
答案 0 :(得分:1)
你真的应该使用当前版本的jQuery。 1.6.4很老了。如果您坚持使用1.7之前的版本,请使用bind
代替on
。有人建议使用live
,坦率地说,这里没有任何意义。不要使用live
。再次,在代码中将on
替换为bind
。最好的解决方案是简单地使用当前版本的jQuery。
为什么不使用live
?好的,Fine Uploader在内部使用triggerHandler
来触发事件。使用triggerHandler
触发的事件不会冒泡,因此,如果您live
使用live
,则永远不会触及您的处理程序,因为document
始终将您的处理程序绑定到{{1}}。