对象不支持 属性 或方法 'on'

Object doesn't support property or method 'on'

我在 IE8 和 9 上遇到了这个错误。还没有测试更高版本,但它也来自我正在使用的名为“Dropzonejs”的插件。

在包含 dropzone 之后,在我的 onReady 函数中我有:

if (typeof(Dropzone) != 'undefined') {
    var dz = new Dropzone('#dropzone', {options: here});
    dz.on('drop', ondropfunctionhere);
}

选项对象有一大堆更多设置,但我将它们排除在外,因为我认为它们不是导致问题的原因。

如果勾选:

if (typeof(dz.on) == 'undefined') {
     dz.on = function (a, b) {
        return this._callbacks = this._callbacks || {}, (this._callbacks[a] = this._callbacks[a] || []).push(b), this
    }
}

当我输出 dz.on 时,我从 chrome 调试中窃取了这个函数,但这实际上仍然没有触发任何回调。 < IE 9 dropzone.js 中没有定义回调吗?

根据 dropzone docs,不支持 IE8 和 IE9:

Browser Support

Chrome 7+

Firefox 4+

IE 10+

Opera 12+

(Version 12 for MacOS is disabled because their API is buggy)

Safari 6+