我对我的众多错误之一有一个根本的误解。我用jquery。
我有一个对象定义为:
var terms = {};
terms.clear_history = function(a, b)
{ /* DO SOMETHING */ }
我可以在我的主js文件中调用terms.clear_history(1,2)
函数,没问题。但是当我尝试通过<a/>
元素的“点击”调用它时:
$(document).on('click', '#clearterms', function(){
terms.clear_history(1, 2);
});
它给了我以下错误:
未捕获的TypeError:对象#没有方法'clear_history'
我明白我不懂基本的东西......
谢谢!
答案 0 :(得分:0)
这听起来像是一个范围问题。也许全局范围中的terms
与给定方法的clear_history指定的this
相同。
另外,您不希望将您的参数命名为window.terms = {};
window.terms.clear_history = function(foo,bar){console.log(foo,bar);};
//then later:
$(document).on('click', '#clearterms', function(){
window.terms.clear_history(1, 2);
});
,这是JS中的保留关键字。
试试这个:
{{1}}