我正在尝试将对象的函数添加到满足某些条件时创建的按钮。如果我有var我试图改变外部文件,那有什么关系吗?
var myvar = 1;
$(document).ready(function(){
var myobj = {
changeMyVar: function(){ myvar++;}
}
...
/* button id='my-button' is created in a div id='mydiv' */
...
$('#mydiv').on('click', '#my-button', myobj.changeMyVar);
});
按钮没有附加功能,也没有抛出错误。实际上,console.log(myobj.changeMyVar)返回undefined。我在这里缺少什么?
编辑:我说谎没有错误,我在.on()行上得到'undefined is not a function'。
谢谢!
Edit2:经过进一步分析,我在原始代码中发现了一个愚蠢的类型o。谢谢你的答案!
答案 0 :(得分:1)
我尝试用小提琴复制你的问题,但它确实有效。
试试http://jsfiddle.net/7fjk3wxs/1/
这就是我使用的:
var myvar = 1;
$(document).ready(function(){
var myobj = {
changeMyVar: function(){
myvar++;
alert(myvar);
}
};
$('#mydiv').on('click', '#my-button', myobj.changeMyVar);
});
答案 1 :(得分:0)
经过进一步分析,我在原始代码中发现了一个愚蠢的类型o。谢谢你的答案!