前一陣子發(fā)現(xiàn)了簡(jiǎn)書這一個(gè)博客社區(qū),給我的第一個(gè)印象就是簡(jiǎn)約,清爽暑椰。
本來打算在第一遍博文上寫一點(diǎn)“人生道理”以鼓勵(lì)一下自己,不過這些虛的話還是不要放著這種公眾博客上荐绝,以后在這就記錄一下平時(shí)看到的或者用過的小東西吧一汽。
這兩天實(shí)訓(xùn)在做一個(gè)oa系統(tǒng),坑爹的老師坑爹地要求前臺(tái)只能用靜態(tài)頁面低滩,呵呵召夹,我基本上沒怎么寫過js,又要深入淺出javascript了恕沫。前后臺(tái)選用json做數(shù)據(jù)存儲(chǔ)+springMvc框架监憎,除了js我覺得還是挺好的。
十來個(gè)小時(shí)的js編寫經(jīng)驗(yàn)婶溯,總結(jié)一下所遇到的問題及解決方案:
動(dòng)態(tài)生成的html元素如何動(dòng)態(tài)地綁定事件
? ? ? ? 動(dòng)態(tài)生成html元素誰都會(huì)鲸阔,使用jquery的append,after方法可以輕松在制定位置添加html內(nèi)容迄委。那么如果動(dòng)態(tài)生成的html元素需要綁定事件呢褐筛,簡(jiǎn)單的方法就是在$("#id").append() 后重新綁定,但如果需要重復(fù)生成同類型的html元素叙身,則需要重復(fù)地綁定渔扎。學(xué)了jquery發(fā)現(xiàn)了jquery.live()函數(shù)非常好用,live() 方法為被選元素附加一個(gè)或多個(gè)事件處理程序信轿,并規(guī)定當(dāng)這些事件發(fā)生時(shí)運(yùn)行的函數(shù)晃痴。就是說通過 live() 方法附加的事件處理程序適用于匹配選擇器的當(dāng)前及未來的元素。
如:
$(".onechange").live("click",function(){
$(this).parent().find(".oneinput").val($(this).parent().find(".onetitle").text());
$(this).parent().find(".onetitle").hide();
$(this).parent().find(".oneinput").css("display","inline").focus().select();
});
后來發(fā)現(xiàn)live無法綁定blur方法财忽,經(jīng)過查找網(wǎng)上資料倘核,發(fā)現(xiàn)1.3.1之前的版本是無法實(shí)現(xiàn),要實(shí)現(xiàn)綁定blur方法則需要用到j(luò)query1.4.1之后的版本定罢。