我试图将对象的功能添加到在满足某些条件时创建的按钮中。是否有我要在document.ready外部更改的变量是否重要?
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)返回未定义。我在这里想念什么?
编辑:我撒谎没有错误,我在.on()行上得到一个“未定义不是函数”。
谢谢!
Edit2:经过进一步分析,我在原始代码中发现了一个傻傻的type-o。感谢您的回答!
最佳答案
我尝试在小提琴中复制您的问题,但它确实有效。
试试这个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);
});
关于javascript - jQuery使用.on()添加对象函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27244077/