2014-12-02 77 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型。感謝您的答案!