1

我正在尝试使用一个名为jPanelMenu的 jQuery 插件。要使用它,您需要创建一个特殊对象:

var jpm = jQuery.jPanelMenu();

并调用该对象的方法:

jpm.on();

因此,当我创建对象时,我可以键入它的名称并查看它的属性列表,其中确实包含一个“on”属性。

我可以输入jpm.on并看到这个属性看起来像一个函数。

我能做到typeof jpm.on,它会返回"function"

但是当我打电话时jpm.on();,我得到

TypeError: Object #<Object> has no method 'on'

这是我在控制台中执行上述所有操作的屏幕截图:

Chrome 的 JavaScript 控制台中的上述屏幕截图。

我对 JavaScript 不是很感兴趣,所以我认为这是我基本概念知识的一些差距。这里到底发生了什么?

4

2 回答 2

1

对不起,伙计们,原来这只是一个疯狂的巧合。我正在运行旧版本的 jQuery,on它找不到的方法不是on我试图调用的方法,而是on在 1.7 版中添加到 jQuery 本身的方法,这显然是在 jPanelMenu 自己的on方法中使用的。

我想最大的线索是在 TypeError 中,它说#<Object> has no method而不是jpm has no method.

于 2013-01-22T19:31:01.293 回答
-1

请查看您是否在 jPanelMenu.js 之前包含了您的 jQuery 库

于 2013-01-22T19:24:19.897 回答