vue + fastclick + loadmore(mint-ui)下拉触发元素的点击事件问题

最近在使用 vue + mint-ui + fastclick 时,碰到了一个大问题,在一度搜索之后都说改源码,在改源码也无果后,自己想除了一个解决方法,当然是在不改源码的基础上。 问题 在使用 mint-ui 下的 loadMore 组件时,出现了一个了问题:在iOS使用 fastclick 的情况下,下拉刷新时会触发子元素的点击事件,而事件其实是不应该处理的,在看源码+搜索之后,确定了问题出现的原因:在下拉的时候触发了 'touch' 事件,而 fastclick 将 'touch' 处理成了

  • aco
    aco
3 min read
restful

restFul - 1

最近在看 Roy Thomas Fielding 博士的博士论文。本着看不懂还是看不懂都要看下去的原则,开始啃这篇长达70页的论文。相信等我看完应该会有所收获吧。 既然提了 Roy Thomas Fielding 这位大牛,那肯定是要吹一吹的,相信基本上所有的开发人员都听说过这个词 restFul ,这是一种基于接口的开发模式。而这位大牛就是该开发模式的缔造者。 然而大牛之所以被称为大牛,那就绝不可能只登顶一处,这位 Roy Thomas Fielding 博士不仅仅是 restFul 的缔造者,同时还是 HTTP URI 等一些 WEB 架构标准的设计者。

  • aco
    aco
2 min read
javaScript

axios -- 9:axios axios库对外暴露的函数

console.info 该系类文章旨在研究 axios 的实现。在研究源码的基础上,去理解 AXISO 是如何实现 AJAX 请求并更好的去使用这个库。 对外暴露的 axios 方法 对应文件为 lib/axios.js 终于写到了最后,这个文件主要是对外保留 axios 方法,主要内容包括实例化 Axios 对象,在此方法下绑定一些公用的方法。 实例化 Axios 对象 对应代码为: function createInstance(defaultConfig)

  • aco
    aco
3 min read
javaScript

axios -- 8:Axios axios的类

console.info 该系类文章旨在研究 axios 的实现。在研究源码的基础上,去理解 AXISO 是如何实现 AJAX 请求并更好的去使用这个库。 Axios axios 中的类 对应文件为 lib/core/Axios.js 根据前面的相关博文,该有的方法都有了,该有的配置也都已经规定好,在 Axios 这个类中,我们只需要绑定配置然后去调用相关的方法就可以了。 类下的属性 function Axios(instanceConfig) { this.defaults = instanceConfig;

  • aco
    aco
2 min read
javaScript

axios -- 7:InterceptorManager 管理注入函数的类

console.info 该系类文章旨在研究 axios 的实现。在研究源码的基础上,去理解 AXISO 是如何实现 AJAX 请求并更好的去使用这个库。 InterceptorManager axios 中管理注入函数的类 对应文件为 lib/core/InterceptorManager.js 这个类主要用于存放如下一个对象: { fulfilled: fulfilled, rejected: rejected } fulfilled:为 promise 执行 then 时的第一个参数; fulfilled:为 promise

  • aco
    aco
1 min read
javaScript

axios -- 6:dispatchRequest 请求发送函数

console.info 该系类文章旨在研究 axios 的实现。在研究源码的基础上,去理解 AXISO 是如何实现 AJAX 请求并更好的去使用这个库。 实现方式及代码 文件 lib/core/dispatchRequest.js 该模块主要实现接受传入的 config 对象并使用该对象下的 adapter 发送请求。 这里的 config 对象可以看作是 defalut + config 的合集。 获取请求头 根据自定义的配置,修改请求头信息 config.data

  • aco
    aco
2 min read
javaScript

axios -- 3:工具函数

console.info 该系类文章旨在研究 axios 的实现。在研究源码的基础上,去理解 AXISO 是如何实现 AJAX 请求并更好的去使用这个库。 工具函数 对应文件为 lib/utils.js 该文件主要定义了一些会在实现 axios 中用到的一些工具函数: 一些关于图片中出现的不常用的属性的解释如下,具体的内容点击即可查看: ArrayBuffer:二进制数据缓冲区 ArrayBufferView:二进制数据视图数组 Blob:二进制数据的基本对象,主要表示文件 FormData:表单数据 URLSearchParams:处理 URL

  • aco
    aco
2 min read
javaScript

axios -- 1:default 默认的配置

console.info 该系类文章旨在研究 axios 的实现。在研究源码的基础上,去理解 AXISO 是如何实现 AJAX 请求并更好的去使用这个库。 default 默认配置信息 对应文件为 lib/defaults.js 该文件主要定义了一个默认的对象:默认的请求内容 一个 js 对象,内容如下: { adapter: FUNCTION // 一个用于触发请求的函数 transformRequest: [FUN, FUN, FUN, FUN ...] // 用于处理请求的函数列表 transformResponse:

  • aco
    aco
1 min read
javaScript

是时候把 Promise 写成一般的函数调用了

懒是一个程序员的好习惯,没错就是这样。 问题 假设使用 JQuery 来写一个 Promise : 调用时需要传入参数,比如读取文件的文件名。 将生成的 Promise 的对象返回出去。 那么这个方法大概是这样的: var getFile = function (fileName){ var defer = $.Deferred(); //一些异步的操作,比如读取一个文件 readFile(fileName, function(file){ defer.resolve(file); }) return defer.promise(); } getFile(

  • aco
    aco
3 min read
ECMAScript6

ECMAScript 6 之函数

设置默认值 想必在写函数时,都会有一个困惑:要是在这个函数调用的时候,参数没有传入时,该怎么办?设置默认值。对,所以大部分的函数都会有一下的代码。 function f(a,b){ a = a || {/*...*/} /* ... */ } 以上代码相信绝大多数的 javascript 开发者都写过,乍一看是没啥大问题的,但是如果传入的值是 false 呢?那么 a 就会被替换成默认值。为了避免这个问题就应该将代码改一改: if( typeof a === 'undefined' ){ a = {/* ... */} } 这就大大增加了代码量,而且一个痛点莫名其妙的增加了:

  • aco
    aco
6 min read
jQuery

JQuery那点事 -- Deferred(Promise的实现)

注:由于 Deferred 需要用到 Callback 因此需要先了解 Callback 的实现以及用处后才能进一步了解 Deferred 的实现及其作用。 附:JQuery那点事 -- Callback Deferred (延迟对象)解决了什么 在写 javascript 代码时,难免的回写到异步回调。 当一个回调中含有另一个回调时,假设我们要获取一个坐标点,x 需要异步获取,而 y 轴坐标需要依赖 x 轴,z 轴需要依赖 y

  • aco
    aco
5 min read
javaScript

JQuery那点事 -- Callback

Callback(事件队列) 所谓的事件队列就是一个函数的集合对象,这个对象下有添加、删除、执行函数等等各种操作集合中函数的方法。 顺便说一下 在 JQuery 中 Promise 的实现也与事件队列密不可分,那么接下来从 jQuery 源码来看 Callback 是如何实现、应该如何去使用。 JQuery 中 Callback 的简单实现 以下代码为 jQuery 3.1.0 中,关于 Callbacks 源码中的一部分。经过我的一些修改,仅仅实现了主要的逻辑。

  • aco
    aco
3 min read
javaScript

@ 功能 JS 实现分析及其原理

最近为实现一个新功能弄的焦头烂额 @xxx 的实现,在实现后写下些心得,供以后会跳入这坑的同志们参考。 首先,当让是考虑使用范围,由于项目仅仅需要考虑在 WEBKIT 环境下使用,所以可以不用考虑 IE 这也使得代码少了很多的 if(){}else{} 判断。在Mozilla 开发者网络上发现 selection 和 range 这两个关于选区对象和光标对象,结合 Caret(一个用于判断当前光标位置的JS插件)后,一个大致的雏形就浮现出来。 大概就长这样: 先整理思路,捋一捋实现步骤。 大致思路如下: 键入 @ 后将选择框显示出来

  • aco
    aco
8 min read
杂记

雨 & 情

雨 下着 慢慢的 越下越大 淋湿了路人 渐渐地渐渐地 路上开满了伞花 下面藏着的是 一对对路人 手牵着手 慢慢的 走着 眼 看着 对方的 脸颊和手 温温的感觉 在身上流动着 手与手紧紧握住 一种种欣喜的感觉 在各自心中涌动 走雨中的感觉 是这样欣喜 这样温暖 感受着 各自 身上 的温度 相互依偎 相互温暖着 彼此欣喜的心 伞下的一方天空 是温暖彼此的天地

  • aco
    aco
1 min read
杂记

我想,不一定要这样活下去

看了一篇文章,说是一名大学生,迫于生活,不得不去干一份辛苦的兼职,一干干到12点是常事,然后在工资低、压力的情况下感慨:生活无奈,巴拉巴拉。 看标题就能想象的出,作者打过工、兼过职,用自己是精力体力去提高自己的生活,打着兼职的名义诉说着生活的不易。细思极恐,就想写点什么。 直接进入我脑海的一句话是:不一定要这样活下去吧。 兼职,之所以被称作兼职,就不能把它当作一份正当的工作,利用的是自己闲暇的时间去获取一定的利益,而不是去为了票子去压榨自己的时间。 所以,如果兼职影响到了正常的生活,那么大可不必为了那么一点的利益,而弄的自己身心具疲。因此,在一定的情况下放弃是最好的选择。 学生,并不仅仅在大学,我们一生都在扮演这个角色。可能现在应试教育下的课堂让我们难以接受,

  • aco
    aco
4 min read
杂记

高中 高中

高中我们就像是一群受初中老师 初中作业摆布的羊羔 为了自由疯狂的冲出初中的羊圈却只跑到了一个比初中稍微大那么点的高级羊圈里 结果疯狂的高中生活开始。。。。。。。。。 记得那时的诸葛是双下巴 那时的小锦被我们气的大哭 记得被帅波大喊极度猥琐的严越志 那时呆呆的地理老师刘俊 记得我有一个亲戚的郑金妹 记得鸡总半夜三更的电话 总是困扰着我和波神 记得午休的大富翁 受害的却是我 记得sb的游戏王 也不知道是哪个二货 把一堆牌放我床头 害的我可能至今都有一张照片落在小锦手里 记得宝康还在热恋 听说还是申晓庆搭的线 嫖哥那么腼腆 记得那次的深夜一点 记得那时的纠结 还害得陈坚苦逼的被我们吵着 记得那时的懵懂 对于爱情的不理解 记得那时班里美女挺多的 王婧竟然是班长 于雅璐一直是副班的关注对象 吴晗下手依然很重 申晓庆和刘扬比的永远是谁的数学及格 黄丹雯吸引着不少人的目光 。。。。。 记得那时 花了一个星期的地理历史课把挪威的森林看完

  • aco
    aco
3 min read
杂记

所有孩子的理想国度

充满着回味去看了看最近新上映的电影:《哆啦 a 梦:新·大雄的日本诞生》,总感觉有种感觉在心头,我想我是在回味我那已经回不去的童年吧。 开场前。小孩的笑着、打闹声充斥着周围,但是却一点也没觉得烦心。 电影里,大雄带着他的小伙伴们,乘着混搭的‘神兽’,顶着竹蜻蜓,开始他们的梦幻之路。 看完后,内心有着些许的悸动,因为我曾是一个想过冒险或是逃离的孩子?还是每个孩子心中都曾想过冒险和逃离? 好奇,冒险,变强,这些都是童年时代,每个小孩心中的愿望,独立的生活也是每个要强的孩子心中的最想过的吧。可以说离家出走冒险是每个孩子心中一场伟大而又神秘内心戏,面对着影院内的大屏幕,我想孩子们是兴奋的是渴望的。不得不说这部动漫所带来的那种感觉,这种感觉很难用语言表述,

  • aco
    aco
3 min read
ECMAScript6

ECMAScript 6之解构变量

标签: ECMAScript 6 javaScript 上一节讲到 ES6 中新增加的块级作用域,解决了一些不必要的闭包,让 js 代码的编写能更加的保险与便利,这里我不是很想说更加的安全,因为代码是人写的,好坏与否、安全与否都不是代码的问题,当然闭包在 js 中的应用不仅仅是使用在锁住块级作用域。块级作用域的出现也不能取代所有的闭包。 这一节来聊聊 ES6 中对于赋值的新玩法。 简单说说 有这样一个场景:你向你的服务器提交了一次请求,获取一些基本的参数来初始化页面。假设 config 就为后端传送回来的数据,而你需要去获取其中的配置项。当然先写正常的(因为 ES6

  • aco
    aco
12 min read