<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div {
width: 200px;
height: 200px;
background-color: darkgoldenrod;
}
#inner {
width: 100px;
height: 100px;
background-color: darkred;
}
</style>
</head>
<body>
<div>
<div id="inner"></div>
</div>
<script>
var div = document.querySelector('div');
// // click事件
// div.onclick = function(e) {
// console.log(e.type);
// };
// // dblclick事件
// div.ondblclick = function(e) {
// console.log(e.type);
// };
// // mouseover事件:如果有后代元素,那么在进入到后代元素或从后代元素再进入到自身时会多次触发该事件,
> // mouseover速度快,重复多
// div.onmouseover = function(e) {
// console.log(e.type);
// };
// mouseout事件:问题同上,进入自己和后代的元素,不会重复触发在某个元素内
// div.onmouseout = function(e) {
// console.log(e.type);
// };
// // mouseenter事件:如果有后代元素,不会重复触发,只有进出本元素才会触发
// div.onmouseenter = function(e) {
// console.log(e.type);
// };
// // mouseleave事件:也没有重复触发问题
// div.onmouseleave = function(e) {
// console.log(e.type);
// };
// mousedown事件:在鼠标压下去的时候只触发一次(包含后代元素),不会持续触发
div.onmousedown = function(e) {
console.log(e.type);
};
// mouseup事件
div.onmouseup = function(e) {
console.log(e.type);
};
// mousemove事件
div.onmousemove = function(e) {
console.log(e.type);
};
</script>
</body>
</html>
// mouseleave mouseenter,不冒泡,冒泡可以看作在后代元素是否重复触发
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#red {
width: 300px;
height: 300px;
background-color: #f00;
}
#green {
width: 200px;
height: 200px;
background-color: #0f0;
}
#blue {
width: 100px;
height: 100px;
background-color: #00f;
}
div {
margin: 50px auto;
padding-top: 0.1px;
border-radius: 50%;
}
</style>
</head>
<body>
<div id="red">
<div id="green">
<div id="blue"></div>
</div>
</div>
<script>
var red = document.querySelector('#red');
var green = document.querySelector('#green');
var blue = document.querySelector('#blue');
red.addEventListener('mouseenter', function() {
console.log('red');
}, false);
green.addEventListener('mouseenter', function() {
console.log('green');
}, false);
blue.addEventListener('mouseenter', function() {
console.log('blue');
}, false);
</script>
</body>
</html>
//
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
用户名:
<input type="text" name="userName">
<script>
var input = document.querySelector('input');
input.onfocus = function(e) {
console.log(e.type);
};
input.onblur = function(e) {
console.log(e.type);
};
</script>
</body>
</html>
//
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
用户名:
<input type="text" name="userName">
<script>
var input = document.querySelector('input');
// oninput事件:当表单元素中的内容变化就会触发
input.oninput = function(e) {
console.log(e.type);
};
// onchange事件:当不当元素中内容变化,且失去焦点时触发,就是里面有东西,然后光标消失
input.onchange = function(e) {
console.log(e.type);
};
input.onblur = function(e) {
console.log(e.type);
};
</script>
</body>
</html>
//
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
用户名:
<input type="text" name="userName">
<script>
var input = document.querySelector('input');
// oninput事件:当表单元素中的内容变化就会触发
input.oninput = function(e) {
console.log(e.type);
};
// onchange事件:当不当元素中内容变化,且失去焦点时触发
input.onchange = function(e) {
console.log(e.type);
};
input.onblur = function(e) {
console.log(e.type);
};
</script>
</body>
</html>
//
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="ok.html">
用户名:
<input type="text" name="userName"><br>
<button>提交</button>
<button type="reset">重置</button>
</form>
<script>
/*
submit事件:当提交按钮被点击时触发,注意该事件需要***给form元素***加,该事件可以被用来阻断数据的提交,如果该事件对应的事件处理函数的返回值为false,那么就会阻断提交
reset事件:当重置按钮被点击时触发,注意该事件也是给form元素加
*/
var form = document.querySelector('form');
// form.onsubmit = function(e) {
// alert('提交按钮被点击了!!!');
// };
// form.onreset = function(e) {
// alert('重置按钮被点击了!!!');
// };
form.onsubmit = function() {
return false;//如果submit事件处理函数的返回值为false,则阻断数据的提交
};
</script>
</body>
</html>
//