Jquery find(...).live 不是函数
Jquery find(...).live is not a function
我最近将我的 jquery 库更新到 3.3.1,从那以后 jquery.fileupload-ui 在这里中断
_initEventHandlers: function () {
$.blueimp.fileupload.prototype._initEventHandlers.call(this);
var filesList = this.element.find('.files'),
eventData = { fileupload: this };
filesList.find('.start a')
.live(
'click.' + this.options.namespace,
eventData,
this._startHandler
);
filesList.find('.cancel a')
.live(
'click.' + this.options.namespace,
eventData,
this._cancelHandler
);
filesList.find('.delete a')
.live(
'click.' + this.options.namespace,
eventData,
this._deleteHandler
);
},
我的感觉是 live
已弃用。
如何修改此代码以解决此问题?
亲切的问候
你的感觉是对的,live()
很久以前就被弃用了,已经被移除了。
现代方法是使用on()
方法的委托签名。根据您的代码,它看起来像这样:
_initEventHandlers: function() {
$.blueimp.fileupload.prototype._initEventHandlers.call(this);
var filesList = this.element.find('.files'),
eventData = { fileupload: this },
clickEventName = 'click.' + this.options.namespace;
filesList.on(clickEventName, '.start a', eventData, this._startHandler);
filesList.on(clickEventName, '.cancel a', eventData, this._cancelHandler);
filesList.on(clickEventName, '.delete a', eventData, this._deleteHandler);
},
我最近将我的 jquery 库更新到 3.3.1,从那以后 jquery.fileupload-ui 在这里中断
_initEventHandlers: function () {
$.blueimp.fileupload.prototype._initEventHandlers.call(this);
var filesList = this.element.find('.files'),
eventData = { fileupload: this };
filesList.find('.start a')
.live(
'click.' + this.options.namespace,
eventData,
this._startHandler
);
filesList.find('.cancel a')
.live(
'click.' + this.options.namespace,
eventData,
this._cancelHandler
);
filesList.find('.delete a')
.live(
'click.' + this.options.namespace,
eventData,
this._deleteHandler
);
},
我的感觉是 live
已弃用。
如何修改此代码以解决此问题?
亲切的问候
你的感觉是对的,live()
很久以前就被弃用了,已经被移除了。
现代方法是使用on()
方法的委托签名。根据您的代码,它看起来像这样:
_initEventHandlers: function() {
$.blueimp.fileupload.prototype._initEventHandlers.call(this);
var filesList = this.element.find('.files'),
eventData = { fileupload: this },
clickEventName = 'click.' + this.options.namespace;
filesList.on(clickEventName, '.start a', eventData, this._startHandler);
filesList.on(clickEventName, '.cancel a', eventData, this._cancelHandler);
filesList.on(clickEventName, '.delete a', eventData, this._deleteHandler);
},