美文网首页
前端开发遇到的问题

前端开发遇到的问题

作者: 尘满面鬓微霜 | 来源:发表于2017-03-30 19:56 被阅读0次

重复绑定

//原绑定方法:
//这种方法只会在原click方法中继续添加新方法;
$("#sdfsd").on("click",function(e){ ***** });
//解决办法更改绑定方法为:
$("#sdfsd").unbind("click").click(function(e){ ***** });
//这种方法也可以
$("#sdfsd").off().on("click",function(e){ ***** });

懒加载

主要在于,当前元素的offsetTop <= window.height + window.scrollTop就可以,在onload时间中添加一些特效。

图片上传

  • Blob(Binary Large Object)对象代表了一段二进制数据,提供了一系列操作接口。其他操作二进制数据的API(比如File对象),都是建立在Blob对象基础上的,继承了它的属性和方法。
  • 生成Blob对象有两种方法:一种是使用Blob构造函数,另一种是对现有的Blob对象使用slice方法切出一部分。
  • Blob对象有两个只读属性
    size:二进制数据的大小,单位为字节。
    type:二进制数据的MIME类型,全部为小写,如果类型未知,则该值为空字符串。
  • files就是FileList对象
  • File API提供File对象,它是FileList对象的成员,包含了文件的一些元信息,比如文件名、上次改动时间、文件大小和文件类型。
    readAsBinaryString(Blob|File):返回二进制字符串,该字符串每个字节包含一个0到255之间的整数。
    readAsText(Blob|File, opt_encoding):返回文本字符串。默认情况下,文本编码格式是’UTF-8’,可以通过可选的格式参数,指定其他编码格式的文本。
    readAsDataURL(Blob|File):返回一个基于Base64编码的data-uri对象。
    readAsArrayBuffer(Blob|File):返回一个ArrayBuffer对象。
  • FileReader对象采用异步方式读取文件,可以为一系列事件指定回调函数。
    onabort方法:读取中断或调用reader.abort()方法时触发。
    onerror方法:读取出错时触发。
    onload方法:读取成功后触发。
    onloadend方法:读取完成后触发,不管是否成功。触发顺序排在 onload 或 onerror 后面。
    onloadstart方法:读取将要开始时触发。
    onprogress方法:读取过程中周期性触发。
  • URL对象用于生成指向File对象或Blob对象的URL。
var objecturl =  window.URL.createObjectURL(blob);
var reader = new FileReader();
reader.onload = function(e) {
  console.log(e.target.result);//为文件内容或者img的src属性
}
reader.readAsText(blob);
<input id=“file1” type="file" name="img" multiple="multiple" />
<input type="file" name="img" accept="image/png,image/gif">
multiple支持多文件上传,accept支持的文件的类型
function upload(blobOrFile) {
  var xhr = new XMLHttpRequest();
  xhr.open('POST', '/server', true);
  xhr.onload = function(e) { ... };
  xhr.send(blobOrFile);
}

document.querySelector('input[type="file"]').addEventListener('change', function(e) {
  var blob = this.files[0];//获取第一文件,有lastModifiedDate(最新修改时间),name(文件名),size(大小),type(类型)
//files就是FileList对象
  const BYTES_PER_CHUNK = 1024 * 1024; // 1MB chunk sizes.
  const SIZE = blob.size;

  var start = 0;
  var end = BYTES_PER_CHUNK;

  while(start < SIZE) {
    upload(blob.slice(start, end));

    start = end;
    end = start + BYTES_PER_CHUNK;
  }
}, false);

网页布局问题

就是在商户list上面有个按钮,点击按钮不跳转,点击其他部分跳转,可以设置

event.stopPropagation();
//event.preventDefault();

点透问题

可以看出zepto的tap通过兼听绑定在document上的touch事件来完成tap事件的模拟的,及tap事件是冒泡到document上触发的,因为click事件有延迟触发(这就是为什么移动端不用click而用tap的原因)(大概是300ms,为了实现safari的双击事件的设计)

//引入fastclick.js,因为fastclick源码不依赖其他库所以你可以在原生的js前直接加上
 $("#cbFinish").on("touchend", function (event) {
     //很多处理比如隐藏什么的
     event.preventDefault();
 });
 $("#cbFinish").on("tap", function (event) {
     setTimeout(function(){
     //很多处理比如隐藏什么的
     },320);
 });    

相关文章

  • 2018 年最新的移动前端资料整理

    本文整理了前端开发同学在开发手机页面的时候遇到的各种问题,希望能够对解决移动前端开发中遇到的问题提供帮助。 And...

  • 前端开发遇到的问题

    入坑前端也有小半年了,在这小半年,加入过两家小公司,大大小小做了些项目,中间还参加了一个月的校招,但遗憾的是没能斩...

  • 前端开发遇到的问题

    重复绑定 懒加载 主要在于,当前元素的offsetTop <= window.height + window.sc...

  • 前端开发遇到的问题

    1.关于jquery封装 ajax 进行文件下载空白 1-1 问题描述 : 后端返回数据流,前端使用blob与a链...

  • 前端开发遇到的问题

    CSS 1、页面平滑滚动 问题: 需要在滚动到顶部的时候有缓慢滚动的动画效果 方案: scroll-behavio...

  • 浅谈前端设计思想

    浅谈前端设计思想 前言: 话题: 1.前端开发问题(遇到的问题和多人开发遇到的情况,以及在以前我们是怎么处理的) ...

  • 前端开发中遇到的问题

    1、用了V-show 刷新的一瞬间可以看到隐藏的那个字怎么办? v-cloak这个指令让元素直到关联实例结束才开始...

  • 前端开发遇到的问题合集

    解决:hover 伪类在移动端二次点击的问题 用 css 写出的 hover 效果,在移动端,需要点击触发,但是在...

  • 前端拖拽后端数据处理

    前端拖拽后端数据处理 问题来源 前端开发做表格展现的时候,遇到需要拖拽变更数据顺序的问题,前端使用拖拽功能或者其他...

  • Spring Boot整合Swagger2构建RESTful A

    开发中遇到的接口文档问题 在项目开发中一般分为前端UI开发和后端接口开发,前端通过调用后端的RESTful API...

网友评论

      本文标题:前端开发遇到的问题

      本文链接:https://www.haomeiwen.com/subject/vypuottx.html