依旧无题-最近一周的错误总结

  说写就开干的博客,虽然能够我说的漏洞百出,但是我依旧要记录下来,不过,可能不会有多少人像我同样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事件,不能断掉,如图:

  

 

  总结一下:

    我上面的经验,全都是菜鸟,学的不扎实致使的错误,甚至可能我上面写的都依旧有问题。

    一步步走吧,但愿早日牛逼哄哄,用代码创造自个人世界!

相关文章
相关标签/搜索