JQuery使用.on()添加对象函数

时间:2014-12-02 07:33:57

标签: javascript jquery

我正在尝试将对象的函数添加到满足某些条件时创建的按钮。如果我有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。谢谢你的答案!

2 个答案:

答案 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。谢谢你的答案!