Object有一个属性是一个函数,但是控制台说它没有这样的方法

时间:2013-01-22 19:03:21

标签: javascript jquery

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

var jpm = jQuery.jPanelMenu();

并调用该对象的方法:

jpm.on();

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

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

我可以typeof jpm.on,然后返回"function"

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

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

以下是我在控制台中执行以上所有操作的截图:

Screenshot of the above in Chrome's JavaScript console.

我对JavaScript并不十分热衷,所以我认为这是我基本概念知识方面的一些差距。这里到底发生了什么?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:-1)

请在jPanelMenu.js

之前查看您是否包含了jQuery库