有了這個函數(shù)得到最終結(jié)果就很容易了。我的思路是在用戶輸入要計算的式子時不加干預,最終的計算從input輸入框中獲取value值,然后把這個value值作為參數(shù)傳遞給eval,并使用try catch(exception)來捕獲并處理異常。
3.通過事件代理綁定事件
因為每個button都需要有一個點擊事件,如果一個一個去綁定,會導致代碼十分的不簡潔,而且效率也非常低。這時就可以考慮使用事件代理,由于事件冒泡的原理,我們可以把點擊事件綁定在table上,然后通過判斷事件發(fā)生的具體對象來做出不同的反應,調(diào)用不同的函數(shù)。
4.其他效果
可以根據(jù)自己的設計思路,添加其他的效果。我主要是添加了一個錯誤提示的動畫:如果eval函數(shù)拋出異常,則從上面緩慢滑下一個圖片,并且通過setTimeout來設置了停留的時間。
5.注意細節(jié)
在設置enter鍵按下獲得結(jié)果的時候,keydown事件對象應該為整個table,并且應該阻止enter鍵的默認行為
獲取元素樣式時需要寫一個兼容函數(shù),因為obj.style.attr只能獲取行間樣式,要像獲取外部樣式需要用getComputedStyle(obj,false)[attr]或兼容IE的obj.currentStyle[attr]。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com