0

我的 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元素内的跨度。

4

0 回答 0