Fork me on GitHub

javascript学习笔记第二卷

正在学习前端的路上,写点东西分享一下吧。

js的事件

JavaScript创建动态的页面。事件是可以被JavaScript侦测到的行为。网页中的每个元素都可以产生触发JavaScript函数或程序的事件。

比如我前面讲过的

1
2
3
<input type="button" value="点击看chenlao女装" onclick="emm()" >
//就是通过点击按钮触发函数。
`

主要的事件表有:
onclick 鼠标点击事件
onmouseover 鼠标经过事件
onmouseout 鼠标移开事件
onchange 文本框内容改变事件
onselect 文本框内容被选中事件
onfocus 光标聚集
onblur 光标离开
onload 网页导入
onunload 关闭网页

鼠标点击事件

onclick是鼠标点击事件,当在网页上面单击鼠标的时候,就会发生该事件。onclick通常与按钮一起使用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script type="text/javascript">
function emm()
{
window.open('http://zoomdong.site/','_blank','height=600','width=400','top=100','toolbar=no','left=0','menubar=no','scrollbars=no','status=no');
//通过该函数可以点击弹出相应的网页地址,并且在后面可以设置css样式。
}
</script>
</head>
<body>
<input name="点击我" type="button" onclick="emm()" value="点击看陈lao女装">
</body>
</html>

鼠标经过事件

类似于点击事件,当鼠标移到一个对象上的时候,该对象会触发onmouseover事件并执行该事件调用的程序。
代码实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script type="text/javascript">
function emm()
{
// window.open('http://zoomdong.site/','_blank','height=600','width=400','top=100','toolbar=no','left=0','menubar=no','scrollbars=no','status=no');
//通过该函数可以点击弹出相应的网页地址,并且在后面可以设置css样式。
alert("请陈lao女装先");
}
</script>
</head>
<body>
<input name="点击我" type="button" onmouseover="emm()" value="点击看陈lao女装">
</body>
</html>

鼠标移开事件

鼠标移开事件,当鼠标移开当前对象的时候,执行onmouseout调用的程序。

1
<a href="zoomdong.site" onmouseout="emm()">点击我</a>//这里的emm是个函数。

光标聚焦事件

当网页中的对象获得焦点时,执行onfocus调用的程序就会被执行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> 光标聚焦事件 </title>
<script type="text/javascript">
function message(){
alert("请选择,您现在的职业!");
}
</script>
</head>
<body>
请选择您的职业:<br>
<form>
<select name="career" onfocus="message()">
<option>学生</option>
<option>教师</option>
<option>工程师</option>
<option>演员</option>
<option>会计</option>
</select>
</form>
</body>
</html>

失焦事件

onblur与onfocus是相对事件,当光标离开当前获得聚焦对象的时候出发onblur事件,同时执行被调用的程序。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title> 失焦事件 </title>
<script type="text/javascript">
function message(){
alert("请确定已输入密码后,在移开!"); }
</script>
</head>
<body>
<form>
用户:<input name="username" type="text" value="请输入用户名!" >
</br>
密码:<input name="password" type="text" value="请输入密码!"onblur="message()" >
</form>
</body>
</html>

内容选中事件(onselect)

选中事件,当文本框或者文本域中的文字被选中的时候,触发onselect事件,同时调用的程序就会被执行。
ps:这个还挺好玩的QAQ。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script type="text/javascript">
function emm()
{
var qaq=document.getElementById("zoom");
//qaq.innerHTML="有请陈lao女装";
alert("%陈lao%%%%");
}
</script>
</head>
<body>
<form>
个人简介:</br>
<textarea id="zoom" name="summary" cols="60" rows="5" onselect="emm()">输入陈lao女装即可。</textarea>
</form>
</body>
</html>
//在html里面使用textarea可以制造出一个输入的文本框,就类似于留言框的那种QAQ。劲!

文本框内容改变事件

通过改变文本框的内容来触发onchange事件,同时执行被调用的程序。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script type="text/javascript">
function emm()
{
var qaq=document.getElementById("zoom");
//qaq.innerHTML="有请陈lao女装";
alert("这本就是个不争的事实");
}
</script>
</head>
<body>
<form>
个人简介:</br>
<textarea id="zoom" name="summary" cols="60" rows="5" onchange="emm()">陈lao女装,修改无效。</textarea>
</form>
</body>
</html>

如果文本框里面我写的内容被修改了的话,那么就会导致函数被执行,就是如此的简单。

加载事件(onload)

事件会在页面加载完成后,立即发生,同时执行被调用的程序。
1.加载页面的时候,触发onload事件,事件写在标签内。
2.此节的加载页面,可理解为打开一个新界面时。当加载一个新的界面的时候,弹出我们的函数里面的内容。

对上面的那组代码进行修改一点,就可以使其能够加载是弹出一个提示框。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script type="text/javascript">
function emm()
{
var qaq=document.getElementById("zoom");
//qaq.innerHTML="有请陈lao女装";
alert("这本就是个不争的事实");
}
function emm2()
{
alert("陈lao正在女装中,请稍等....");
}
</script>
</head>
<body onload="emm2()">
<form>
个人简介:</br>
<textarea id="zoom" name="summary" cols="60" rows="5" onchange="emm()">陈lao女装,修改无效。</textarea>
</form>
</body>
</html>

卸载事件(onunload)

当用户退出界面时(页面关闭,页面刷新等),触发onunload事件,同时执行被调用的程序。

注意,不同的浏览器对onunload事件支持不同。

1
2
3
4
5
6
<script type="text/javascript">
window.onunload=onunload_message;
function onunload_message()
{
alert("您确定不看完陈lao女装再离开?");
}

最后

附上本人用JavaScript做的一个小程序。
一个计算机

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<!DOCTYPE html>
<html>
<head>
<title> 事件</title>
<script type="text/javascript">
function count(){
//获取第一个输入框的值
var qaq1=document.getElementById("txt1").value;
//获取第二个输入框的值
var qaq2=document.getElementById("txt2").value;
//获取选择框的值
var qaq3=document.getElementById("select").value;
//获取通过下拉框来选择的值来改变加减乘除的运算法则
var qaq4="";
if(qaq3=='+')
{
qaq4=parseInt(qaq1)+parseInt(qaq2);
}
else if(qaq3=='-')
{
qaq4=parseInt(qaq1)-parseInt(qaq2);
}
else if(qaq3=='*')
{
qaq4=parseInt(qaq1)*parseInt(qaq2);
}
else
{
qaq4=parseInt(qaq1)/parseInt(qaq2);//parseInt可以把一个字符串转换成一个数字。%%%%
}
document.getElementById("fruit").value=qaq4;//.value可以取到这个地方的值。document.getElementById("QAQ").value可以取出这部分的值。
//设置结果输入框的值
}
</script>
</head>
<body>
<input type='text' id='txt1' />
<select id='select'>
<option value='+'>+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>//这个标签可以构建出一个选择框出来,劲!。
<input type='text' id='txt2' />
<input type='button' value=' = ' onclick="count()"/> <!--通过 = 按钮来调用创建的函数,得到结果-->
<input type='text' id='fruit' />
</body>
</html>

总结

后续待更QAQ…..
To be countinued….

-------------本文结束感谢您的阅读-------------