依舊無題-最近一週的錯誤總結

  說寫就開乾的博客,雖然能夠我說的漏洞百出,但是我依舊要記錄下來,不過,可能不會有多少人像我同樣ZZ(笑~)前端

  上週的項目仍是作PC管理系統中的功能配置,哎,移動端不給我這個新人作,我也好想試試rem+媒體查詢的佈局啊~chrome

  前提:高傲的前端從不屑於搞兼容,哼~瀏覽器

  1.需求:點擊按鈕,本地上傳文件佈局

     其實就是點擊到了<input type="file">,給input type=file設置爲opacity=0便可this

    可是,我是要有多蠢,纔會把input裹在button裏面?效果以下spa

  

  而後,友好高情商的Chrome徹底沒有問題,其餘的瀏覽器都有問題了!估計其餘瀏覽器都想弄死我,兩個可被點擊的標籤放在一塊兒,到底點擊哪個?只有chrome認可,點擊內部的input,其餘的瀏覽器都認定button裏面嵌套input就是錯誤的,點擊就只有button的效果。orm

  解決:放棄了點擊按鈕陷下去的良好手感,也就是把button換成了span標籤blog

 

  2.需求:把input type=file裏面的文件傳給後臺事件

  使用到了form.submit,具體的我還不是很清楚,知其然,不知其因此然,因此只提一點,ci

  在form標籤中你要寫一個target='id',咱們的作法就是id爲創建的一個iframe的id名,iframe的樣式爲"display: none;"

  若是不給設置一個target,使用form.submit時,會把後臺數據接收到新標籤頁(默認),也就是會進行一個頁面的跳轉操做,用戶體驗度瞬間差好多。

  

  3.關於textarea

  我想要根據textarea獲取到回車鍵的操做,最後得出,textarea中輸入文本時,敲擊回車鍵,會在數據中存儲一個'\n',因此,經過\n,能夠在獲取textarea時,分段

  

  4.爲何要解除事件綁定?

  咱們知道,事件是綁定在元素上的,對元素進行操做會致使事件的觸發。若是事件2嵌套在事件1中呢?以下圖

  

  每一次點擊span1,都會給span2存儲一次點擊事件,真正的點擊span2時,會一次性把存儲下來的全部的事件所有出發,

  咱們重複的點擊span1,span2,span1,span2,結果就是

  

  天吶,這麼坑,我也懶得管那麼多了,基本全部的事件,我都會先解綁在綁定,管它怎麼滴的,個人兩種解綁方式:

  

 

   5.事件委託

  js動態建立的元素,也就是將來元素,只能經過事件委託,纔可以對將來元素進行操做,使用的是jQeury的on()方法,如上圖解綁方法二

  父元素必須是static元素啊,最好是距離真實元素最近的父元素啊,this指向父元素,e.target指向真實元素啊,等等老生常談的我就不提了,

  要說的一點是,給父元素綁定兩個click事件,雖然真實元素不一樣,可是事件都是click,因此默認爲一個類型,所以,下面的click會覆蓋住上面的clcik事件,以下圖  

  

  解決方法:父元素不間斷的直接寫兩個on事件,不能斷掉,如圖:

  

 

  總結一下:

    我上面的經驗,全都是菜鳥,學的不紮實致使的錯誤,甚至可能我上面寫的都依舊有問題。

    一步步走吧,但願早日牛逼哄哄,用代碼創造自個人世界!

相關文章
相關標籤/搜索