被我拖延了将近一个月的javascript事件模型系列终于迎来了第四篇,也是我计划中的最后一篇,说来太惭愧了,本来计划一到两个星期写完的,谁知中间遇到了很多事情,公司的个人的,搞的自己心烦意乱浮躁了一段时间,好在最近这些事情都一件件趋于平息,我也有了精力继续写文章. 这个自定义事件其实是挺让我纠结的,首先自己平时从未使用过,只是有一次遇到一个问题有人指点说可以用自定义事件,才对这个东西有了印象.在网上搜“javascript自定义事件”,发现也有不少文章在写,不过说实话让我佩服的却一篇也没找到,…
一.事件的捕获与冒泡 由W3C规定的DOM2标准中,一次事件的完整过程包括三步:捕获→执行目标元素的监听函数→冒泡,在捕获和冒泡阶段,会依次检查途径的每个节点,如果该节点注册了相应的监听函数,则执行监听函数.以下面的HTML结构为例: <div id="parentdiv"> 父亲 <div id="childdiv">孩子</div> </div> 执行的流程应该是这样的: 下面是一组例子,分别点击孩子节点可以清楚的…
一.开篇 在学习javascript之初,就在网上看过不少介绍javascript事件的文章,毕竟是js基础中的基础,文章零零散散有不少,但遗憾的是没有看到比较全面的系列文章.犹记得去年这个时候,参加百度的实习生面试,被问到事件模型,当时被问的一头雾水,平时敲onclick敲的挺爽,却没有关注到事件模型的整体概念.这个周末难得清闲,决定就javascript中的事件模型写个系列,算是对知识点的一个总结,也是对自己的一个交代. 初步计划分为以下几个部分: ①   javascript事件的基本概念…
作为全球最知名的js框架之一,jQuery的火热程度堪称无与伦比,简单易学的API再加丰富的插件,几乎是每个前端程序员的必修课.从读<锋利的jQuery>开始,到现在使用jQuery有一年多的时间了,对jQuery算是比较了解了,唯一没做到的就是读源码.网上看到有人写jQuery源码解析的,我也没细看,个人觉得如果光是为了解析源码而解析源码,未免有点太劳神了,没有实际用途,我更倾向于在实际应用中遇到不懂的方法或是文档说明不清楚的地方,可以查找到相应的位置看下源码,足矣. 闲话不多讲了,今天的主…
这个系列的文章主要是为了能够让自己了解MySQL5.7的一些系统表,统一做一下备注和使用,也希望分享出来让大家能够有一点点的受益. 1:COLUMNS 老规矩.查一下这个表,看一下记录,由于这个是看表的结构的我们就拿qiandai数据库的一张表作为例子. root@localhost [information_schema]>select * from COLUMNS where TABLE_SCHEMA='qiandai' and TABLE_NAME= 'articles'\G; *****…
DOM事件标准定义了两种事件流,分别是捕获和冒泡.默认情况下,事件使用冒泡事件流,不使用捕获事件流.你可以指定使用捕获事件流,方法是在注册事件时传入useCapture参数,将这个参数设为true. 冒泡事件流 当事件在某一DOM元素被触发时,例如用户在客户名字节点上点击鼠标,事件将跟随着该节点继承自的各个父节点冒泡穿过整个的DOM节点层次,直到它遇到依附有该事件类型处理器的节点,此时,该事件是onclick事件.在冒泡过程中的任何时候都可以终止事件的冒泡,在遵从W3C标准的浏览器里可以通 过调…
代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>ECharts</title> <script src="http://echarts.baidu.com/dist/echarts.min.js"&…
异步模型看起来非常美,但事实上它也是有天生缺陷的.看以下代码 try { setTimeout( function(){ throw new Error( '你抓不到我的!' ); }, 100); } catch (e) { console.error(e); } 假设你已经理解了上一篇博客,那你一定了解了这种写法是捕获不到错误e的,setTimeout是排在catch(e){}运行完成后,捕获错误时压根还没运行throw new Error()当然捕获不到了. 相同的道理我们也没法得到异步函…
原型链是采用最主要的继承方式,原理:每一个类(构造器,js中的function)都有一个原型属性(prototype)指向一个原型对象,原型对象有一个构造器(constructor),它又指回到function,是个循环引用,类的每个实例也有一个原型属性(代码无法访问,叫做_proto_),它跟构造器原型指向的是同一个对象,即同一个类的所有实例公用一个原型对象,要实现两个类型的继承,就是将一个类型的原型指向另一个类型的实例,而不再指定原来的默认的原型对象,这样就形成了原型链 子类可以通过原型链获…
在介绍事件模型之前,我们先来看什么是事件和什么是event对象. 一事件介绍 JavaScript事件是由訪问Web页面的用户引起的一系列操作,使我们有能力创建动态页面.事件是能够被 JavaScript侦測到的行为. 网页中的每一个元素都能够产生某些能够触发JavaScript函数的事件.例如说.我们能够在用 户点击某button时产生一个onclick事件来触发某个函数.事件在HTML页面中定义:事件通常与函数配合使用,当事件 发生时函数才会运行:事件一般用于浏览器和用户操作进行交互. 我们…