【发布时间】:2015-04-09 20:48:43
【问题描述】:
我在 IE8 和 9 上遇到此错误。尚未测试更高版本,但它也来自我正在使用的名为 'Dropzonejs' 的插件。
在包含 dropzone 之后,在我的 onReady 函数中我有:
if (typeof(Dropzone) != 'undefined') {
var dz = new Dropzone('#dropzone', {options: here});
dz.on('drop', ondropfunctionhere);
}
options 对象有更多设置,但我将它们排除在外,因为我认为它们不是导致问题的原因。
如果已经检查:
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 调试中窃取了这个函数,但这实际上并没有触发任何回调。
【问题讨论】:
-
你有没有在调试器中查看
dz对象,看看它是什么,有什么方法? -
看到它在 Chrome 中运行良好我会假设该方法应该仍然存在于 IE 中,我在文档中没有读到任何其他说明,据说这并不意味着它不可能是真的
-
@jfriend00 我运行了
dz.hasOwnProperty('on'),它返回false,我还检查了typeof(dz.on),它返回未定义。 -
这是一个你不想使用
hasOwnProperty()的情况,因为你也想在原型上看到东西。你想测试if (dz.on)或console.log(typeof dz.on)。我询问在调试器中查看dz的原因是,这可能会让您对正在发生的事情有所了解。另外,您在控制台中看到的确切错误是什么? -
请看我的编辑@jfriend00
标签: jquery internet-explorer object methods dropzone.js