JavaScript事件概览

简介:

JavaScript事件

JavaScript是单线程,在同一个时间点,不可能同时运行两个“控制线程”。

事件句柄和事件对象

1.注册事件句柄

标准和非标准

var button=documenbt.elementByID("#button");
button.addEventListener('click',function(){
    //do something.
},false);
//第三个参数表明事件是否阻止冒泡。true阻止冒泡,false类似默认行为一样进行事件冒泡。
var button=documenbt.elementByID("#button");
button.attachEvent('onclick',function(){
    //do something.
});

早期兼容性代码,查看浏览器支持哪种事件模型:

function registerEventHandler(node,event,handler){
            if(typeof node.addEventListener=='function'){
                node.addEventListener(node,event,handler);
            } else{
                node.attachEvent("on"+event,hander);
            }
        }
registerEventHandler(button,"click",function(){
            //to do
        });

2.获得事件对象

标准 event

非标准: window.event

兼容性代码:

registerEventHandler(document.body,"click",function(event){
            event=event||window.event;
            print(event.clientX,",",event.clientY);
        });

3.从事件对象中获取数据

鼠标事件,event对象中的属性(部分):
59618-20160805140902043-1398533542.png

4.标记事件已经完成

function unregisterEventHandler(node,event,handler){
            if(typeof node.removeEventListener=='function'){
                node.removeEventListener(node,event,handler);
            } else{
                node.detachEvent("on"+event,hander);
            }
        }
registerEventHandler(button,"click",function(){
            //to do
        });

事件类型

1.鼠标事件,
2.键盘事件
3.停止行为
事件冒泡和阻止默认行为。标准和非标准如下:

阻止事件冒泡:
event.stopPropagation

cancelBubble

阻止默认行为:
event.preventDefault();

returnValue=false;

4.跟踪焦点事件
focusblur

5.表单事件
submit事件

6.window事件

load事件:在文档完全加载完毕时触发

resize事件: 每次窗口发生改变时被触发

scroll事件: 文档滚动的时候,浏览器都会触发window对象上的scroll事件

本文转自快乐八哥博客园博客,原文链接http://www.cnblogs.com/liminjun88/p/5741247.html如需转载请自行联系原作者


快乐八哥

相关文章
|
3月前
|
JavaScript 前端开发
|
3月前
|
JavaScript 算法
|
3月前
|
JavaScript
|
22天前
|
JavaScript
事件触发、事件捕获与事件冒泡(js的问题)
事件触发、事件捕获与事件冒泡(js的问题)
11 0
|
2天前
|
JavaScript 前端开发
js开发:请解释事件冒泡和事件捕获。
JavaScript中的事件处理有冒泡和捕获两种方式。事件冒泡是从子元素向上级元素传递,而事件捕获则从外层元素向内层传递。`addEventListener`的第三个参数可设定事件模式,`false`或不设为冒泡,`true`为捕获。示例代码展示了如何设置。
17 2
|
24天前
|
JavaScript 前端开发 流计算
JS:oninput和onchange事件的区别
JS:oninput和onchange事件的区别
20 1
|
1月前
|
JavaScript 前端开发
js开发:请解释事件冒泡和事件捕获。
JavaScript中的事件处理有冒泡和捕获两种方式。事件冒泡是从子元素向上级元素依次触发事件,而事件捕获则从最外层元素向内层元素传递。`addEventListener`的第三个参数可设定事件模式,`false`或不设为冒泡,`true`为捕获。例如: ```javascript element.addEventListener('click', console.log, false); // 冒泡 element.addEventListener('click', console.log, true); // 捕获 ```
17 0
|
1月前
|
JavaScript 前端开发
JS页面加载事件
JS页面加载事件
|
1月前
|
JavaScript
|
1月前
|
JavaScript 前端开发
js阻止浏览器默认事件和防止事件传播事件
js阻止浏览器默认事件和防止事件传播事件
21 3