向1.0beta邁進(jìn):
看到上面示例中簡(jiǎn)陋的功能、淺白的代碼,相信很多人已經(jīng)開(kāi)始對(duì)本文以及本人表示不屑了,別急,上面只是熱身,真正的作品才剛剛開(kāi)始。
以上為止,這個(gè)自定義的select控件還只是移花接木的套路,接下來(lái)我們要實(shí)現(xiàn)這個(gè)控件的更多的功能,以完全替代原有的select控件, 最主要是刪除原有的select控件,并接管select的onchange事件。 在這兒有一點(diǎn)要特別說(shuō)明的是在我們我們ZCMS平臺(tái)中因?yàn)槭褂胊jax,所有的表單都不是傳統(tǒng)的submit方式提交的,而是用一個(gè)多維數(shù)組(new DataCollection)收集要提交的數(shù)據(jù),然后發(fā)送(sendRequest)到服務(wù)器的。 所以在下面的控件實(shí)現(xiàn)中不考慮submit提交表單數(shù)據(jù)的情況。
運(yùn)行代碼框
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運(yùn)行]
以上展示了zSelect的核心代碼,對(duì)控件的屬性如style、multiple、size、tabIndex;事件如onblur、onfocus、onkeydown、onmousedown……的處理過(guò)程有所省略。 這個(gè)zSelect控件的實(shí)現(xiàn)思路和技術(shù)在上面的代碼中都已有體現(xiàn),功能上的完善,完全可以參考其它代碼實(shí)現(xiàn),一個(gè)非侵入式的select.js就出樣出現(xiàn)了,那么事情就這么完了么?當(dāng)然沒(méi)有,繼續(xù)……
出處:藍(lán)色理想
責(zé)任編輯:bluehearts
上一頁(yè) 分享我們的select控件設(shè)計(jì)過(guò)程 [1] 下一頁(yè) 分享我們的select控件設(shè)計(jì)過(guò)程 [3]
◎進(jìn)入論壇網(wǎng)頁(yè)制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論。
|