我现在在版本中使用jQuery:jquery-1.11.0.min.js
在从.live更改为.on之前我正在使用jquery:1.6.1(允许.live)
此按钮的Html:
<div class="start"><button>Start</button></div>
在_initEventHandlers中,当我使用1.6.1时,我有一个带有此代码的函数:
$('#ifrform').get(0).setAttribute('action', 'Handler.ashx');
$.blueimp.fileupload.prototype._initEventHandlers.call(this);
var filesList = this.element.find('.row.files'), eventData = { fileupload: this };
filesList.find('.start button')
.live(
'click.' + this.options.namespace,
eventData,
this._startHandler
);
更改为1.11.0后,我有以下代码:
$('#ifrform').get(0).setAttribute('action', 'Handler.ashx');
$.blueimp.fileupload.prototype._initEventHandlers.call(this);
var filesList = this.element.find('.row.files'), eventData = { fileupload: this };
filesList.find('.start')
.on(
'click.' + this.options.namespace,
'button',
eventData,
this._startHandler
);
使用.live一切正常,但是.on按钮点击后没有动作也没有错误。
答案 0 :(得分:0)
Jquery 1.11强制使用委托。 Live和On都已弃用。请查看此链接Jquery Delegate。所以我建议你转向那个。
示例用法是:
$( "table" ).delegate( "td", "click", function() {
$( this ).toggleClass( "chosen" );
});