【发布时间】:2014-06-23 18:51:20
【问题描述】:
我创建了一个对象,但无法通过该回调更新元素。下面是一些简短的示例代码:
function myObj() {
LINK_ID = '';
PREFIX = '';
};
myObj.prototype.init = function(config)
{
LINK_ID = config.link_id;
PREFIX = config.prefix;
$(this.LINK_ID).click($.proxy(this, 'swapState'));
};
myObj.prototype.swapState = function()
{
$(this.PREFIX).toggleclass(this.PREFIX + "_toggled"); // Errors here
};
var m = new MyObj();
m.init({link_id: "#linky", prefix: "#mydiv"});
我在以切换类为特色的行上收到“未捕获的类型错误:未定义不是函数”错误。我可以在该函数的范围内看到 this.PREFIX 的值,但由于某种原因,它不允许我调用 toggleclass。
有什么线索吗?
谢谢。
【问题讨论】:
-
您的
LINK_ID和PREFIX变量被设置为 global 变量! -
toggleClass大写为C。此外,'#mydiv_toggled'不是有效的类名。 -
啊!那就是火箭。谢谢。我从其他地方复制了这段代码,并没有考虑检查语法。
标签: javascript jquery function callback this