2014-12-02 39 views
0

我想添加一个对象的函数,当一些条件满足时创建的按钮。如果我有var,我试图在document.ready之外更改,这有什么关系吗?JQuery添加对象函数使用.on()

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()行。

谢谢!

编辑2:经过进一步分析,我发现了一个愚蠢的O型在我原来的代码。感谢您的答案!

+0

你的代码应该工作。 http://jsfiddle.net/3x5angew/ – Satpal 2014-12-02 07:38:43

回答

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); 
}); 
0

进一步分析后,我发现在我的原代码,一个愚蠢的O型。感谢您的答案!