私の jQuery ファイル アップロード プラグインは、リストされている一部のファイルに対して削除操作を実行する意思がありません。
問題は、 delete をクリックしても<button>
、委任されたイベントが発生しないことです。
JSデバッグ用のChromeビジュアルツールでデバッグしようとしていて、手がかりに出くわしました。動作中のプラグイン ページのデモでは、click
イベントはボタン要素にバインドされています。
しかし、私の場合、「委任」コードはまったく同じですが、button
イベントを「リッスン」する tbody.file がありclick
ます。
click
ある場合はイベントにリンクされ、別の場合はイベントにリンクされているのはなぜですかbutton
。button
そもそもイベントとは?
追加情報:
イベントの委任を行うプラグインはjQuery-File-Uploadであり、両方のケースでイベントをバインドするコードは次のとおりです。
_initEventHandlers: function () {
parentWidget.prototype._initEventHandlers.call(this);
var eventData = {fileupload: this};
this.options.filesContainer
.delegate(
'.start button',
'click.' + this.options.namespace,
eventData,
this._startHandler
)
.delegate(
'.cancel button',
'click.' + this.options.namespace,
eventData,
this._cancelHandler
)
.delegate(
'.delete button',
'click.' + this.options.namespace,
eventData,
this._deleteHandler
);
this._initButtonBarEventHandlers();
},
の値はthis.options.namespace
、動作シナリオと問題シナリオの両方で「fileupload」です。
JS の実行を一時停止してボタンをクリックするとmouseup
、クリックではなくイベントが呼び出され、ターゲットがdocument
. イベント ソースはbutton
要素内のスパンです。