iT邦幫忙

5

JavaScript 在 Web Apps中與Browser 事件處理的關係

最基本的 JavaScript ,了解了就像是學會了絕世武功的內功心法。
雖然現在很多 Web Application Framework 幫忙處理掉很多麻煩事情,讓程式開發者可已越來越簡單的開發,但是最基本的 JavaScript ,了解了就像是學會了絕世武功的內功心法。

大家都知道JavaScript 是由 Client 端跑的程式,因此Client端如處理Event(事件),也攸關Web App 如何運作。這一篇就是要依照我個人的經驗跟大家分享 JavaScript onChange Event 在 Microsoft Internet Explorer 遇到的問題(當時的IE 版本應該是 IE 7,本文最初發表於本人部落格 http://unexpected.pixnet.net/blog/post/10064115)。

**我在寫一個AJAX的程式遇到這個問題,一個Checkbox發生onChange event時,觸發AJAX的callback function,在Firefox上測試的時候,一切都很正常,但是在Microsoft Internet Explorer上,Checkbox勾選後,卻要點選一下滑鼠右鍵離該Checkbox才會啟動這個Event。

起先以為是因為IE對innerHTML的支援有變更(網路上有很多相關文章)導致這個情況,上網查了一堆方法,也是了很久,花了我大概4個小時,結果情況都沒有改善,最後使用Alert();加上一個小Function,來測試看看程式哪裡出問題,才找出原來IE與Firefox對event有不同的定義。

還好因為在Checkbox中,滑鼠click就會改變Checkbox勾選狀態,所以將onChange更改為onClick後就不會有這個問題。**

由以上的經驗告訴我們,當您開發Web App時,也許由一天您會需要精緻的處理不同版本的Browser 對於 Event 處理的方式,相信以上的經驗也許會有啟發的作用。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言