杂七杂八

JavaScript 骚操作

手机端页面自适应解决方案—rem布局进阶版(附源码示例)

 

BFC和 websocket

后jQuery时代

是时候和 jQuery 说拜拜了么?

10分钟学会ES7+ES8 ,精读AsyncAwait

25个最基本的JavaScript面试问题及答案

javascript 之模块化篇

javascript常用函数 【4星级】

vue2实践,填坑筆記(持续更新)  【***】

JavaScript数组所有API全解密 【干货】

JavaScript字符串所有API全解密  【干货】

js数组API--温故知新

数组扁平化、去重、排序,又搞定了一道校招题

数组的32场演唱会

详解JS之Arguments对象 

JS中可能用得到的全部的排序算法

js 深拷贝 vs 浅拷贝  【扫盲】

你做的拷贝是真的深拷贝吗

Vue.js 2.0 快速上手精华梳理  ,Vue教程 【扫盲】

https://www.w3ctech.com/  【干货】

等比例缩放的盒子 【干货】       

CSS实现长宽比的几种方案  【扫盲】

css中如何做到容器按比例缩放

http://www.javascript.fun/  *

http://dunizb.com/ *

Grid布局学习  【干货】

js实现手机横竖屏事件

前端工程师都有用哪些比较靠谱的小工具?

npm scripts : 每个前端开发都应知道的一些使用提示

CreateJS中文网  *

Hover Buttons *

javaScript的数据结构与算法 【干货】

Alloy周刊

CSS 动画技巧与细节  【干货】

浏览器兼容性问题解决方案 · 总结 【扫盲】

前端每周清单

教你从零开始搭建一款前端脚手架工具

feather - 一个开源的SVG图标库 

如何使用GitHub Pages在线加载静态网页

读Zepto源码  

用纯CSS实现跳跳球动画

Vue 折腾记

编码过程中,我的常用网站工具

前端实用的在线工具推荐系列

meta 标签大全

通过JS判断网络状态调研及实例demo说明

BetterScroll:在移动端滚动场景的应用

如何用 js 获取虚拟键盘高度?

HTML5 video blob

JavaScript的记忆函数真的可以提升性能吗?

avaScript是如何工作的:内存管理 + 如何处理4个常见的内存泄漏(译)

原生JS实现最简单的图片懒加载

CSS 写作建议和性能优化小结

网站可以一键变色吗?

 

                                                                      面试

lensh

微醺岁月

http://yrq110.me/

滴滴FE

路易斯

玩转prototype

前端性能优化之 DOM 篇 【5星级】

https://github.com/yrq110/odds-and-ends

jQuery->JavaScript一览表

2017前端面试题及答案总结|掘金技术征文

JS如何判断一个对象为空

this、apply、call、bind

notebook

从原理到轮子之JS模块化

 var head = document.getElementsByTagName('head')[0] || document.body;

function loadJsModule(url) {
    var script = document.createElement('script');
    script.charset = 'utf-8';
    script.type = 'text/javascript';
    script.onload = script.onreadystatechange = function() {
        if (!this.readyState || this.readyState === 'loaded' || this.readyState === 'complete') {
            /*
             * 加载逻辑, callback为define的回调函数, args为所有依赖模块的数组
             * callback.apply(window, args);
             */
            script.onload = script.onreadystatechange = null;
        }  
    };
}

史上最全面、最透彻的BFC原理剖析

移动 Web 开发问题和优化小结

JS对象的深浅复制

BetterScroll:可能是目前最好用的移动端滚动插件

vue移动助手实践  【5】

聊聊Vue.js的template编译

 

为什么 call 比 apply 快?

setTimeout(fn, 0) 的作用

发布-订阅模式

互联网大厂求职面经及总结 

js的事件循环

25 个最基本的 JavaScript 面试问题及答案

前端常见跨域解决方案(全)

Websocket

JS 的正则表达式

CSS 伪类选择器

vh,vw单位你知道多少? 【扫盲】

Event Loop

前端性能优化之加载技术 【5星级】

JavaScript Event Loop 机制详解与Vue.js 中 nextTick   【干货】

CSS技巧:逐帧动画抖动解决方案

理解构造函数与原型对象

设计模式系列课程-委托模式实战微博发布功能

Javascript 黑科技 【4星级】

从性能的角度看CSS选择器

 

【整理】CSS布局方案

getElementsByClassName与classList兼容性问题与解决方案

Ajax知识体系大梳理

Fetch进阶指南

Promise使用手册

你不知道的CSS 【干货】

CSS实现长宽比的几种方案

高性能滚动 scroll 及页面渲染优化 ,函数节流 【干货】

JS面试高级技巧  【干货】

你不知道的JS  【扫盲】

你不知道的CSS(二)

浮动两端对齐 【扫盲】

面试必备之JS继承方式总结  【干货】

整理下《前端江湖面试》对自己有益的题目。

阿里校招前端面经 【干货】

重新认识JS的this

H5拖放和WebWorker 【扫盲】

史上前端面试最全知识点(附答案) 【干货】

JSONP原理及简单实现 【扫盲】

移动端Click点击300毫秒延迟及其解决办法 

zepto的tap点透问题

JS开发中的一些小技巧和方法

周末读fastclick.js源码有感   在touchend合成一个事件立即触发解决300ms问题

fastclick是将事件绑定到你传的元素(一般是document.body)
② 在touchstart和touchend后(会手动获取当前点击el),如果是类click事件便手动触发了dom元素的click事件
所以click事件在touchend便被触发,整个响应速度就起来了,触发实际与zepto tap一样
既然浏览器有这300ms的延迟,那么我们来代替浏览器判断,手动触发click事件,这也是fastClick的解决方案。

// 自定义事件
var eve = new Event('自定义事件名');
el.addEventListener('自定义事件名', function(){
    console.log('自定义事件')
});
el.dispatchEvent(eve);
//

fastClick的核心代码

FastClick.prototype.onTouchEnd = function(event){

  // 一些状态监测代码 

  // 从这里开始,
  if (!this.needsClick(targetElement)) {
    // 如果这不是一个需要使用原生click的元素,则屏蔽原生事件,避免触发两次click
    event.preventDefault(); 
    // 触发一次模拟的click
    this.sendClick(targetElement, event);
  }
}
这里可以看到,FastClick在touchEnd的时候,在符合条件的情况下,主动触发了click事件,这样避免了浏览器默认的300毫秒等待判断。为了防止原生的click被触发,这里还通过event.preventDefault()屏蔽了原生的click事件。

我们来看看他是怎么模拟click事件的

FastClick.prototype.sendClick = function(targetElement, event) {

  // 这里是一些状态检查逻辑

  // 创建一个鼠标事件
  clickEvent = document.createEvent('MouseEvents');
  // 初始化鼠标事件为click事件
  clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);

  // fastclick的内部变量,用来识别click事件是原生还是模拟
  clickEvent.forwardedTouchEvent = true;

  // 在目标元素上触发该鼠标事件,
  targetElement.dispatchEvent(clickEvent);
我们在网上搜索fastClick,大部分都在说他解决了zepto的点击穿透问题,他是怎么解决的呢?就是上面最后一句,他模拟的click事件是在touchEnd获取的真实元素上触发的,而不是通过坐标计算出来的元素。
 

读 Zepto 源码 

你可能不知道的 border-radius

VS Code 折腾记

浏览器兼容性问题解决方案 · 总结

页面卡顿?操作慢?

margin-right右边距失效

JavaScript 专题之函数记忆

前端精读周刊

封装一个简易的异步队列

JavaScript 异步队列实现及拓展

JavaScript专题之递归

有意思的clip-path

可定制的 CSS 加载动画

 

 

 

https://github.com/microzz

https://lenshen.com/

https://microzz.com/

谦龙

(void 0) 与 undefined 之间的小九九

MVVM —— 如何进行 DOM 的操作

给axios做个挺靠谱的封装

这些Zepto中实用的方法集 【干货】

10个有趣的Javascript和CSS库 【干货】

改写你的checkout input默认样式 【干货】

HTML/CSS/JS编码规范 【扫盲】

写一个挺靠谱的Vue组件 【扫盲】

99%的人都理解错了HTTP中GET与POST的区别

网易前端面经 【干货】

 JavaScript异步编程面试题 【干货】

巧用margin/padding的百分比值实现高度自适应(多用于占位,避免闪烁) 【干货】

     【当margin/padding取形式为百分比的值时,无论是left/right,还是top/bottom,都是以父元素的width为参照物的!】

阿里校招前端笔试题

koa2进阶学习笔记

Node.js 包教不包会

纯前端实现人脸识别-提取-合成

从零开始教你写一个NPM包

GitHub 开发的首个 Chrome Github代码查看

localStorage 还能这么用

 

 

                                                                            React:

React 高阶组件浅析

React高阶组件实践

从 setState promise 化的探讨

npm 入门教程

Nestjs 文档

Boss-UI 【干货】

从零开始使用vue搭建带有SSR服务端渲染的前后台项目weeklyPlus

React组件类型

[React技术内幕] key带来了什么  【干货】

React技术内幕  【干货】

无状态组件你真的知道

Redux store 的动态注入

理解 React-redux connect

React、Redux与复杂业务组件的复用

koa源码--基础篇

Redux中间件对闭包的一个巧妙使用

总结个人使用过的移动端布局方法

理解和学习mobx-react

探索 React 中 es6 的继承机制

Redux 还是 Mobx,让我来解决你的困惑!

https://github.com/sunyongjian/blog

源码看React setState漫谈

聊聊React高阶组件(Higher-Order Components)

React-Redux源码分析

手把手教你写一个react validator 【表单验证】

React合成事件和DOM原生事件混用须知

 

 

                                                                             Vue:

AT-UI  【干货】

Vue 进阶教程之:非父子组件通信方法(非Vuex)

 

 

JavaScript Event Loop 机制详解与Vue.js 中 nextTick   【干货】

从event loop看vue的nextTick  【干货】

从Vue.js源码看异步更新DOM策略及nextTick

Vuejs渡劫系列一:日常开发中必须掌握的细节

HTML5新特性之Mutation Observer,监听DOM变化

 

深入浅出基于“依赖收集”的响应式原理

剖析vue实现原理,自己动手实现mvvm

vue组件之间的通信

Vue.js数据绑定原理

Vue.js 依赖收集

Vue2.4组件间通信新姿势 【干货】

重复造轮子:从0开始实现Vue数据绑定

MVVM 开发总结 —— Vue 组件

vue 填坑系列总结——scoped 【干货】

从Vue.js源码角度再看数据绑定

用addRoutes实现动态路由

浅谈axios

axios 中文文档 翻译

处理 Vue 单页面 Meta SEO的另一种思路

说说VNode节点(Vue.js实现)

日常开发中必须掌握的细节

基于 vuejs 2.0 轻量级的 ui组件库

Vue.js 2.0 组件级懒加载方案

Vuex 源码分析

VirtualDOM与diff(Vue实现)

性能优化之组件懒加载: Vue Lazy Component 介绍

vue IOS一个页面阻塞问题的排查过程

VueJS 开发常见问题集锦

Vue.js源码——事件机制

Vuex2.0源码解析

 

 

                                                                                                                                   

                                                                          Webpack

数据模拟神器 easy-mock 正式开源

 加载优化

Web 的现状:网页性能提升指南

  RxJS 数据板,将数据当作水流一样,集中管理和监视数据流, 监控每一次数据流动。

npm scripts : 每个前端开发都应知道的一些使用提示

基于React/Mobx/React-Router v4/Webpack v3的脚手架。

快一点, 再快一点

webpack 从入门到工程实践

Webpack你的包

67 个拯救前端开发者的工具、库和资源

深入浅出webpack教程系列1-安装与基本打包用法和命令参数

用Nodejs开发命令行工具

你真的会用 Babel 吗?

webpack:从入门到真实项目配置

vue-cli 自定义路径别名 assets和static文件夹的区别 --save-dev和--save的区别

前端面试之webpack篇

 

posted @ 2017-10-23 00:25  最骚的就是你  阅读(915)  评论(0编辑  收藏  举报