2013-09-11 84 views

回答

1

這裏有一個簡單的方法來做到這一點,在那裏你不必編輯每個按鈕。只要使用此作爲處理您=鍵:

comp.click(function() { 
    Input.val(eval(Input.val())); 
    $('input:button').one('click', function newOp(e) { 
     if (/\d/.test(this.value)){ 
      Input.val(this.value); 
     } 
     $('input:button').off('click', newOp); 
    }); 
}); 

不是最好的方式做到這一點,當然,但它的工作原理。

+0

謝謝,這是我尋找的解決方案。你能解釋一下/ \ d /? –

+1

當然!這是一個正則表達式,它會匹配一個數字。(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#special-digit)[.test()方法] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects%2FRegExp%2Ftest)檢查以查看按鈕的值與該表達式匹配並返回true或false。基本上,如果您在'='後面單擊的按鈕是一個數字,請重置該字段。 – HodofHod

+0

非常感謝。這是一個很好的幫助 –

1

看着你的代碼,這將是一個有點亂,但是當打等號設置爲true

newCalc = true; 

變量時捕捉輸入if (newCalc) {$("#clear).trigger(); newCalc = false}