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