我正在用這個撕掉我的頭髮。我有一個功能,我可以加載準備,單擊,但不是當我把它放在綁定事件處理程序。放置在綁定事件處理函數中時未定義的函數
// these work
$(document).ready().calHeader();
$(".prevMonth").click().calHeader();
// this doesn't work
$(".prevMonth").bind("click", calHeader);
我試圖讓最後一個工作,因爲我不希望函數在點擊之前運行。來自幾個回答問題的解決方案表示要以第三種方式進行。但我不斷收到這個錯誤在Chrome控制檯:
Uncaught ReferenceError: calHeader is not defined(anonymous function) @ override.js:101
爲什麼前兩個工作正常,但最後一個不是?我錯過了什麼/沒有從解釋中理解?真的會感激一些方向!
'calHeader'做了什麼?看起來奇怪它適用於任何元素 – charlietfl
哦,對不起,我應該提到calHeader是我創建的函數/插件(?)。它不會返回任何內容 - 只需進行一些計算,然後更改背景圖像即可。但我只想在單擊某個特定元素時運行calHeader。相反,現在,所有我已經能夠工作的是在整個頁面加載時運行calHeader。 – starchy
好像你是用'$ .fn.calHeader = func ....'做成的,只需要'$ .calHeader = func ...'。然後使用'$ .calHeader()'或'$(「。prevMonth」)。on(「click」,$ .calHeader);' – charlietfl