我创建了一个对象,并且无法通过该回调更新元素。以下是一些简短的示例代码:
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"});
我得到了一个未被捕获的TypeError:undefined不是一个函数'以toggleclass为特色的行上的错误。我可以在该函数的范围内看到this.PREFIX的值,但出于某种原因,它不会让我调用toggleclass。
任何线索?
感谢。
答案 0 :(得分:0)
应该是:
$(this.PREFIX).toggleClass(this.PREFIX + "_toggled");
并确保定义了xxx_toggled
个类。