我正在用这个撕掉我的头发。我有一个功能,我可以加载准备,单击,但不是当我把它放在绑定事件处理程序。放置在绑定事件处理函数中时未定义的函数
// 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