2016-02-15 63 views
0

我想了解OOP JavaScript標準。我有一個代碼筆,我試圖製作一個計算器對象工作和我已經創建了多個$()。click(calculator1.press());代碼來做它我是一個新手和開發工具說計算器不是一個函數和對象$是不是一個函數。理解這個錯誤

http://codepen.io/rush86999/pen/QyJMPo

var calculator1 = Object.create(Calculator); //jquery for click event to call calculator $("#clear").click(calculator1.press("clear"));

+0

我也張貼JSF iddle鏈接https://jsfiddle.net/twpq4q8r/5/ –

回答

1

您正在試圖通過一個函數作爲參考......但要調用的功能。

既然你調用的函數需要比默認的點擊處理程序回調不同,你需要將它包裝在一個匿名函數

$("#clear").click(function(){ 
    calculator1.press("clear");// won't get invoked until event occurs 
}); 
傳遞函數引用的

簡單的例子,單擊處理器

function handler(event){ 
    event.preventDefault(); 
    alert(this.id); 
} 

$('#someID').click(handler); // pass function name as reference, won't get invoked until event occurs 
參數

但是,你正在做的:

$('#someID').click(handler()); // handler() will be invoked as soon as this code line encountered