自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

金大光

我思故我在

  • 博客(45)
  • 收藏
  • 关注

原创 浏览器的event loop和node的event loop

1.什么是event loopevent loops也就是事件循环,它是为了协调事件(event),用户交互(user interaction),脚本(script),渲染(rendering),网络(networking),用户代理(user agent)的工作而产生的一个机制。2.JavaScript的运行机制2.1 单线程的JavaScriptJavaScript语言...

2018-07-08 21:48:07 682

原创 js深拷贝和浅拷贝

简单的拷贝var obj1 = {a:10,b:20}var obj2 = obj1obj2.a = 0console.log(obj1)//得到0,obj1的a也被改变这是因为浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存,修改新对象也就相当于修改原对象。一.浅拷贝的实现1.遍历赋值function simpleClone(data){...

2018-05-16 09:08:34 676

原创 浅谈promise用法

Promise本意是承诺,在程序中的意思就是承诺我过一段时间后会给你一个结果。什么时候会用到过一段时间?答案是异步操作,异步是指可能比较长时间才有结果的才做,例如网络请求,读取本地文件等1.Promise的三种状态Pending Promise对象实例创建时候的初始状态Fulfilled可以理解为成功的状态拒绝可以理解为失败的状态然后方法就是用来指定Promise对象的状态...

2018-05-15 22:34:33 1169

原创 vue 解决addEventListener重复绑定

我在组件里用addEventListener绑定了一个滚动事件,当再次渲染这个组件时,这个事件又被绑定了一次,我试着用removeEventListener解绑,没有成功,因为当组件重新渲染时this.scrollListener已经不是上一个组件里的this.scrollListener了,最后的解决方案是在组件销毁的时候去解绑

2018-03-23 19:11:47 10399

原创 vue v-for就地复用机制导致directive自定义指令不刷新

最近发现了一个问题,自定义指令和v-for共用,v-for的数据发生变化时,自定义指令传的参数并没有改变,还是第一次渲染是的参数,参数并没有被更新

2018-03-10 21:09:13 4106 1

原创 webpack通过url-loader获取资源文件路径

当webpack的项目需要引入一个资源文件时,比如一个swf文件,可以通过url-loader获取打包后资源的路径

2018-03-10 20:28:21 5407

原创 webpack打包禁用严格模式

我在用webpack打包一个js文件时arguments.callee方法发生了报错,原因是babel-loader编译js文件时使用了严格模式 解决方案是修改.babelrc,略过某个js文件

2018-03-10 20:19:47 7073 1

原创 js跨页面触发事件,利用storage监听事件

最近做的一个项目遇到的这个问题,首页是一个列表页,列表上有一些操作需要新开一个标签页展示,在新开页面保存之后要刷新之前的列表页,也就是跨页面触发刷新列表。 我的解决方案是利用storage监听事件,当触发localStorage的值发生改变是,触发storage事件

2018-02-10 22:05:50 4478

原创 vue,父组件调用子组件方法

父组件调用子组件,利用$refs获取子组件的方法

2018-02-04 21:54:22 3933

原创 vue-router设置页面标题

利用vue-router可以开发单页面应用,但实际中每个视图都有自己的title名,这就要领用router的beforeEach去统一设置了component:

2018-01-28 21:44:25 7004 1

原创 vue 父子组件通信,利用对象进行通信

大家都知道vue父子组件间通信用到了props,$emit。通过props可以实现父向子通信,通过$emit可以实现子向父通信,现在我要介绍另外一种方式,通过props传对象的形式通信。首先写一个简单的例子//父组件parent> input type="text" v-model="parent.name" /> myChild :child="parent">

2018-01-28 21:07:25 2344

原创 微信浏览器调起相机拍照并显示图片

在微信浏览器或其他移动端浏览器调起相机拍照并显示

2017-12-05 16:48:38 3167

原创 h5 利用canvas手写签名并保存

最近公司在做一个签名的功能,主要用到了canvas画线的功能结合移动端touch事件

2017-12-05 16:36:00 26585 4

原创 vue watch监听对象及对应值的变化

var vm=new Vue({ data:{ a:1, b:{ c:1 } }, watch:{ a(val, oldVal){//普通的watch监听 console.log("a: "+val, oldVal); }, b:{

2017-12-05 16:12:31 142488 11

原创 vue div contenteditable属性,模拟v-model双向数据绑定功能

在一些特殊的请款下需要用div的contenteditable属性来模拟v-model的功能,但是直接在div上写v-model是不起作用的,首先来看一下v-model是怎么实现的:value="content" @input="content=$event.target.value" />直接把input上的方法移植到div上,会发现居然可以实现v-model的功能div c

2017-12-02 23:31:22 20368 9

原创 简单的vue日历组件

效果图 根据公司设计图制作了一个简单的日历组件,主要包括切换上一年、上一月、下一年、下一月,锁定开始时间、结束时间等功能,以上就是效果图。用法**html:child="date0">:child="date1">**jskim=new Vue({ el:"#app", data:{ date0:{ now:"2

2017-11-28 21:59:38 5535 2

原创 vue自定义移动端touch事件,点击、滑动、长按事件

vue移动的自定义touch事件,包括点击,滑动,左滑,右滑,上滑,下滑,长按

2017-09-27 15:01:49 89490 21

原创 div contenteditable文本框placeholder属性

用div的contenteditable属性模拟文本框的时候是没有placeholder属性的,但是placeholder得需求又很强烈,本文实例讲述的是如何用css写出div的placeholder属性

2017-08-21 17:51:24 3861

原创 js在contenteditable="true"文本框光标处插入内容

本文实例讲述了如何在div contenteditable文本框光标处插入内容

2017-08-21 17:40:12 7964

原创 js设置光标始终在文本最后

利用contenteditable=”true”模拟输入框时,focus()方法会将光标定位在文本的首位,需要将光标挪到最后一位

2017-08-21 17:02:31 11686 3

原创 contenteditable="true"元素过滤富文本样式

用contenteditable=”true”模拟输入框时,会发生连带样式一起复制到输入框的事情。

2017-08-21 15:06:05 3490

原创 js设置、获取、删除cookie

js设置、获取、删除cookie

2017-07-09 20:33:04 328

原创 js数字转换货币格式

js数字转货币格式

2017-07-09 20:29:24 1209

原创 js得到今天日期、本周、本月、本年起始和结束日期

js得到今天日期、本周、本月、本年起始和结束日期

2017-07-09 20:24:20 2728

原创 js获取get参数

js获取get参数

2017-07-09 20:01:29 447

原创 js判断IE浏览器版本、判断安卓、iOS、判断微信浏览器、判断PC端浏览器等

判断浏览器版本、平台

2017-07-09 19:56:06 648

原创 js利用script标签跨域请求

由于同源策略的限制,XmlHttpRequest只允许请求当同域下的资源

2017-04-23 20:55:44 4484

原创 iOS微信浏览器回退不刷新(监听浏览器回退事件)

iOS在微信浏览器回退是不重新加载页面的,有些时候是需要重新加载的,所以需要监听回退事件

2017-04-10 22:05:49 10719 2

原创 禁止iOS自动识别手机号

iOS会自动识别网页中的手机号,改变字体的样式

2017-04-10 21:20:56 1582

原创 iframe访问父级页面、子级页面

iframe访问父级、子级

2017-04-10 21:19:03 1067

原创 h5本地存储的sessionStorage和localStorage

sessionStorage是临时存储,页面关闭,本地存储消失,且多个窗口不共享数据localStorage是永久存储在本地(可以手动删除数据),且多个窗口可共享数据

2017-04-08 22:28:19 437

原创 localStorage在Safari浏览器无痕模式下失效

Safari无痕模式是不能使用localStorage的

2017-04-08 17:50:35 4451

原创 getElementsByClassName兼容IE低版本

getElementsByClassName方法可以很方便的用类名得到一组目标元素,在ie低版本是没有这个方的,需要自己写一个getElementsByClassName的方法,遍历子级去匹配类名得到一个数组,下面是一个兼容ie低版本的写法if(!document.getElementsByClassName){ document.getElementsByClassName = funct

2017-02-16 21:32:16 463

原创 addEventListener兼容ie低版本

之前一直使用addEventListener来绑定事件,后来发现这个方法在ie低版本不支持, ie低版本支持的是attachEvent

2017-02-16 21:29:46 10937 1

原创 stopPropagatio阻止冒泡兼容IE

event. stopPropagatio()是阻止冒泡事件的方法, 在ie浏览器上没有stopPropagatio()这个方法, 在ie上要用e.cancelBubble=true阻止冒泡事件

2017-02-16 21:22:43 597

原创 font-face字体图标制作和使用

字体图标,就是将字体包的字符改变为图片,通过字符来显示图标,这样就可以通过改变字体的样式来改变图标的样式,比如大小、颜色等首先要用ai换出一个矢量图形,再将图形复制到字体编辑器上字体编辑器有很多种,比如fontcreator、fontlab,我这里用的是fontcreator打开编辑器,新建一个字体包选中一个字符双击将制作好的矢量图形复制进去

2017-01-21 21:46:58 1148

原创 js移动端双指缩放和旋转

在iOS上有一组双指事件gesturestart、gesturechange、gestureend 但是这一组事件只能在iOS上使用,安桌上是没有的

2017-01-18 21:17:02 22179 5

原创 重力加速度和摇一摇事件

devicemotion是移动端的设备运动事件,是window的事件 event.accelerationIncludingGravity就是设备运动的重力加速度

2017-01-06 21:39:38 989

原创 jQuery中的$(#id)和document.getelementbyid(id)的不同

document.getelementbyid(id)是一个dom对象打印出来是这样的jQuery中的$(#id)是一个jQuery对象打印出来是这样的如何判断是jQuery对象还是dom对象呢只要判断id[0]是否存在如果id[0]存在就是jQuery对象如何得到一个干净的dom对象呢id[0]就是这个dom对象

2017-01-04 22:04:12 638

原创 safari new data()时间格式问题

很多时候我们看到的时间格式是下面这样的var mydate="2017-01-01 00:00:00";用这样一个字符串可以通过new date()转化为一个时间对象alert(new Date(mydate)) 但是在safari和ie浏览器下却得到invalid date如果只写年月日不写时分秒var mydate="2017-01-01";IE下没有问题了,但

2017-01-04 21:40:51 2460

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除