发表于: 2017-04-29 23:38:20

1 1247


一、今天完成的事情

1、完成投票页面和游戏结束页面的结构。

2、学习怎么用js有限状态机。

3、学习js中数组的迭代方法。

二、明天计划的事情

继续任务4

三、遇到的问题

1js中数组的迭代方法:forEachmapfilterreduceeverysome

2Javascript中事件委托(delegate)是如何运行的?

首先了解一下什么是事件委托?

通俗的理解就是,当给节点注册事件时,为了优化代码可以不用为每个子节点(例如<li>节点)添加相同的事件,借助事件冒泡机制,可以将这些事件统统委托给他们的父节点(ul)进行捕获处理,这样就达到了简化代码,也消除了循环引用导致的内存泄漏的问题了。

Event 对象

定义和用法

target 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口。

其次事件绑定

事件绑定进行的三个阶段

分别是指:事件捕获、事件目标、事件冒泡三个阶段(IE低版本不支持事件冒泡)

IE的事件绑定:

element.attach('onclick',function(){});

W3C事件绑定:

element.addEventListener('click',function(e){});

两者的联系:

1.两者在一个dom节点上都能同时绑定多个事件,(传统的一个元素进行多个事件绑定,会覆盖之前的事件)

2.W3C,this指向的是绑定当前元素对象

两者区别:

1.IE中,this表示的是window,event也绑定在window对象上,即window.event,W3C中,this是指当前对象

2.IE中仅仅会捕获事件的冒泡阶段,W3C中会处理事件的捕获阶段和冒泡阶段

3.IE中注册事件以" on + 事件名称 ",W3C中注册事件直接用事件名称。

阻止事件传播的两种方式:

event.stopPropagation() 

event.cancelBubble = true;

上述方法将停止事件的传播,阻止它被分派到其他 Document 节点。

四、收获

    1、熟悉jQuery的使用。

2、进一步熟悉js有限状态机。

3、学习了js中数组的迭代方法:forEachmapfilterreduceeverysome





返回列表 返回列表
评论

    分享到