disabled 與 readonly的區別(禁止編輯)

 disabled 與 readonly的幾點異同

同:

(1)它們都能讓相應的元素節點變得不可編輯;

(2)它們都是元素的直接屬性而不是css屬性,如:document.getElementById("id").readonly = true;

(3)它們的取值都是boolean類型的,而不是string類型的,當document.getElementById("id").readonly = "false"寫成這樣時會無效,當然有時你寫成“true”會有效,這是因爲js的解析,當字符串不是空串時,在需要的情況下會自動轉換爲true,相反也成立;

異:

(1)readonly的作用範圍更加廣泛,(如:input、textarea、radio、select、checkbox、button等),而disabled的作用範圍要窄一些,它只針對input、textarea等;

(2)用readonly元素仍然能獲得焦點,而disabled則讓元素不能獲得焦點(這點我在項目中遇到過一個應用:從後臺查出來一些數據在前臺進行展示,用戶不能進行編輯只能查看,當時有一條數據是要放在textarea中進行展示的,開始用的disabled但是後來發現用display元素不能獲得焦點,textarea就不能顯示滾動條,導致數據多了顯示不完全,最後用readonly解決的問題)

(3)用表單提交數據時,readonly的元素能提交出去數據,而用disabled的元素不能提交數據

經驗:

具體用那種屬性,要結合你自身的需求,但是在我們項目組中用disabled多一些,因爲它能給人一種更直觀的不能編輯的感覺,用戶體驗要好一點


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章