2013-01-22 27 views
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' 

這裏是我的截圖做所有在控制檯上:

Screenshot of the above in Chrome's JavaScript console.

我不是非常熱衷於使用JavaScript,所以我認爲這是我的基本概念知識中的一些缺口。這裏究竟發生了什麼?

+2

嗯,請嘗試擴展TypeError ...那裏是否有堆棧跟蹤? – cdhowie

+0

你可以做一個小提琴嗎? –

+1

它對我有用:http://jsfiddle.net/yq36s/ – bfavaretto

回答

1

對不起,夥計們在你的jQuery庫,原來這只是一個瘋狂的巧合。我運行的是舊版本的jQuery,而它找不到的on方法不是我正在嘗試調用的on,而是在版本1.7中添加到jQuery本身的on,顯然它在jPanelMenu自己的on中使用方法。

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

-1

請參閱要包括jPanelMenu.js

+0

我是,但你比你應該去的更近。看到我的答案爲實際問題。 –

+0

他們已經表明'var jpm = jQuery.jPanelMenu();'起作用。這是很好的證據,jQuery加載 – Ian

+0

是的,這就是要走的路 –

相關問題