一、事件名称
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>事件名称</title>
<style type="text/css">
.redDiv{
width: 200px;
height: 200px;
background-color: red;
}
</style>
</head>
<body>
<div class="redDiv"></div>
<form action="" id="reg">
<input type="text" id="uName">
<input type="submit" id="submit">
<input type="reset" id="reset">
</form>
</body>
<script type="text/javascript">
var redDiv = document.getElementsByClassName('redDiv')[0];
var reg = document.getElementById('reg');
var uName = document.getElementById('uName');
redDiv.onmousemove = function(){
console.log("鼠标移动的时候触发");
}
redDiv.onclick = function(){
console.log("单机事件");
}
redDiv.ondblclick = function(){
console.log("双击事件");
}
redDiv.onmousedown = function(){
console.log("鼠标按下事件");
}
redDiv.onmouseup = function(){
console.log("鼠标抬起事件");
}
redDiv.oncontextmenu = function(){
console.log("鼠标右击事件");
return false;
}
redDiv.onmouseover = function(){
console.log("over鼠标移入")
}
redDiv.onmouseout = function(){
console.log("out鼠标移出")
}
redDiv.onmouseenter = function(){
console.log("enter鼠标移入")
}
redDiv.onmouseleave = function(){
console.log("leave鼠标移出")
}
uName.onchange = function(){
console.log("内容发生改变之后触发");
}
uName.oninput = function(){
console.log("内容发生变化之后触发");
}
uName.onfocus = function(){
console.log("聚焦");
}
uName.onblur = function(){
console.log("失焦");
}
reg.onsubmit = function(){
console.log("提交");
return false;
}
reg.onreset = function(){
console.log("重置");
return false;
}
window.onresize = function(){
console.log("窗口尺寸发生变化的时候触发");
}
window.onscroll = function(){
console.log("窗口内容滚动的时候触发");
}
window.onload = function(){
console.log("窗口加载完毕之后触发");
}
</script>
</html>
二、事件对象
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>事件对象</title>
<style type="text/css">
body{
height: 3000px;
}
.redDiv{
width: 200px;
height: 200px;
background-color: red;
}
p{
margin:0px;
height: 100px;
margin-left: 100px;
background-color: blue;
}
</style>
</head>
<body>
<div class="redDiv">
<p></p>
</div>
</body>
<script type="text/javascript">
var redDiv = document.getElementsByClassName('redDiv')[0];
redDiv.onclick = function(ev){
var evObj = window.event || ev ;
console.log(evObj.target);
console.log(evObj.clientY);
console.log(evObj.pageY);
console.log(evObj.offsetX);
}
document.onkeypress = function(ev){
console.log("press" + ev.keyCode)
}
document.onkeydown = function(ev){
console.log(ev.keyCode);
if (ev.keyCode == 66) {
console.log("按了B");
}
if (ev.keyCode == 66 && ev.metaKey) {
console.log("按了command + B");
}
}
</script>
</html>
三、事件绑定
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>事件绑定</title>
<style type="text/css">
.redDiv{
width: 200px;
height: 200px;
background-color: red;
}
</style>
</head>
<body>
<div class="redDiv">
</div>
</body>
<script type="text/javascript">
var redDiv = document.getElementsByClassName('redDiv')[0];
redDiv.addEventListener("click",function(){
console.log(1);
},false);
redDiv.addEventListener("click",f2
,false);
redDiv.removeEventListener("click",f2,false);
</script>
</html>
四、事件捕获和冒泡
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>事件捕获和冒泡</title>
<style type="text/css">
.box{
width: 600px;
height: 600px;
background-color: red;
border: 1px red solid;
}
.mid{
width: 400px;
height: 400px;
background-color: yellow;
margin: 100px auto;
border: 1px white solid;
}
.item{
width: 200px;
height: 200px;
background-color: blue;
margin: 100px auto;
border: 1px white solid;
}
</style>
</head>
<body>
<div class="box">
<div class="mid">
<div class="item"></div>
</div>
</div>
</body>
<script type="text/javascript">
var box = document.getElementsByClassName('box')[0];
var mid = document.getElementsByClassName('mid')[0];
var item = document.getElementsByClassName('item')[0];
box.addEventListener("click",function(){
console.log("box")
},false);
mid.addEventListener("click",function(){
console.log("mid")
},false);
item.addEventListener("click",function(ev){
ev.cancelBubble = true;
if (ev.stopPropagation) {
ev.stopPropagation();
}else{
ev.cancelBubble = true;
}
console.log("item")
return false;
ev.preventDefault();
ev.returnValue = false;
},false);
</script>
</html>