发表于: 2017-04-13 21:15:11
1 1198
今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin)
了解事件(Event)接口本身以及DOM节点中的事件注册接口、事件监听接口,以及多种事件接口之间相互关联
明天计划的事情:(一定要写非常细致的内容)
遇到的问题:(遇到什么困难,怎么解决的)
收获:(通过今天的学习,学到了什么知识)
注册事件监听器EDIT
这里有3种方法来为一个DOM元素注册事件回调。
EventTarget.addEventListener
// Assuming myButton is a button element
myButton.addEventListener('click', function () {
alert('Hello world');
}, false);
推荐在现代Web技术的页面中使用这个方法。
更多细节可在 EventTarget.addEventListener
参考页面中找到.
HTML 属性
<button onclick="alert('Hello world!')">
属性中的JS代码触发时通过event参数将Event类型对象传递过去的。其返回值以特殊的方式来处理,已经在HTML规范中被描述。应该尽量避免这种书写方式,这将使HTML变大并减少可读性。考虑到内容/结构及行为不能很好的分享开,这将造成bug很难被找到。
DOM 元素属性
// Assuming myButton is a button element
myButton.onclick = function (event) {
alert('Hello world');
};
带有event参数的函数可以这样被定义。其返回值以特殊的方式来处理,已经在HTML规范中被描述。这种方式的问题是每个事件及每个元素只能被设置一个回调。
如何访问事件接口EDIT
事件回调可以被绑定到包括DOM元素、文档、窗口 等多种对象上。当一个事件被触发时,一个event对象将被创建并顺序的传递给事件监听者们。
Event
接口可以在回调函数内被访问到,通过被传递进来做为第一个参数的事件对象。以下这个简单例子展示了如何将事件对象传递给事件回调函数,同时可以在这个函数中使用。
function foo(evt) {
// the evt parameter is automatically assigned the event object
alert(evt);
}
table_el.onclick = foo;
评论