我的 jQuery 文件上传插件不愿意对某些列出的文件执行删除操作。
问题是当我单击 delete 时<button>
,不会触发委托事件。
我一直在尝试使用用于 JS 调试的 Chrome 可视化工具对其进行调试,并且偶然发现了一个线索。在一个有效的插件页面演示中,该click
事件绑定在一个按钮元素上:
但在我的情况下,即使“委托”代码是完全一样的,我有 tbody.file “监听”button
事件,而不是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
事件 get 被调用,而不是单击,并且目标是document
. 事件源是button
元素内的跨度。