JavaScrip(10)_事件

本系列博客汇总在这里:JavaScript 汇总


一、简介

JavaScript 使我们有能力创建动态页面。事件是可以被 JavaScript 侦测到的行为。网页中的每个元素都可以产生某些可以触发 JavaScript 函数的事件。比方说,我们可以在用户点击某按钮时产生一个 onClick 事件来触发某个函数。事件在 HTML 页面中定义。

二、JavaScript的事件

1、onclick

鼠标点击一个元素时执行。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function myclick(obj)
{
	alert(obj.value);
}
</script>
</head>
<body>
<input type="button" value="点击" onclick="myclick(this)">
<input id="b1" type="button" value="点击1">
</body>
<script type="text/javascript">
	document.getElementById("b1").onclick = function()
	{
		alert(1);
	}
</script>
</html>

在这里插入图片描述

2、onblur

使用在表单元素中,当元素失去焦点的时候执行。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function myblur(obj)
{
	var val = obj.value;
	//正则表达式
	var reg = /^\d{3,5}$/;
	if(!reg.test(val))
	{
		document.getElementById("tip").innerHTML = "请输入3到5位的数字";
	}
	else
	{
		document.getElementById("tip").innerHTML = "";
	}
}
</script>
</head>
<body>
<input type="text" onblur="myblur(this)"><span id="tip"></span>
</html>

在这里插入图片描述

3、onchange

使用在表单元素中,当某些东西改变是执行。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
var yn = ["昆明","丽江","大理"];
var gx = ["南宁","崇左","柳州"];
var gz = ["贵阳","遵义","安顺"];
function mych(obj)
{
	var opts = "";
	if(obj.value == 1)
	{
		for(var i = 0; i < yn.length; i++)
		{
			opts = opts + "<option>"+yn[i]+"</option>"
		}
	}
	else if(obj.value == 2)
	{
		for(var i = 0; i < gx.length; i++)
		{
			opts = opts + "<option>"+gx[i]+"</option>"
		}
	}
	else if(obj.value == 3)
	{
		for(var i = 0; i < gz.length; i++)
		{
			opts = opts + "<option>"+gz[i]+"</option>"
		}
	}
	document.getElementById("city").innerHTML = opts;	
}
</script>
</head>
<body>
省:
<select id="province" onchange="mych(this)">
	<option value="">请选择</option>
	<option value="1">云南省</option>
	<option value="2">广西省</option>
	<option value="3">贵州省</option>
</select>
市:
<select id="city" onchange="mych(this)">	
</select>
</html>

在这里插入图片描述

4、ondblclick

鼠标双击一个元素时执行。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
//双击
function dblclk()
{
	alert(0);
}
</script>
</head>
<body>
<div style="border: 1px solid black; width: 100px;height: 100px;" ondblclick="dblclk()"></div>
</html>

在这里插入图片描述

5、onfocus

使用在表单元素中,当元素获得焦点时执行。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function myfocus(obj)
{
	//可用于当鼠标在表格当中移动时的表格背景颜色的改变
	obj.style.background = "yellow";
}
</script>
</head>
<body>
<input type="text"  onfocus="myfocus(this)"><span id="tip"></span>
</html>

在这里插入图片描述

6、onkeydown

按下某个按键时执行。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">	
function mykd(e)
{
	var keyNum = null;
	var keyChar = null;
	//获得键盘上按下的键对应的ascii码
	keyNum = window.event?e.keyCode : e.which;
	keyChar = String.fromCharCode(keyNum);
	alert(keyNum+"--->"+keyChar);	
}
</script>
</head>
<!-- 
 在页面中获得键盘上按下的键,把事件放在body上
 -->
<body onkeydown="mykd(event)">
</body>
</html>

在这里插入图片描述

7、onkeyup

释放某个按键时执行。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function mykd(e)
{
	var keyNum = null;
	var keyChar = null;
	//获得键盘上按下的键对应的ascii码
	keyNum = window.event?e.keyCode : e.which;
	/*keyChar = String.fromCharCode(keyNum);
	alert(keyNum+"----------->"+keyChar); */
	if(keyNum == 13)
	{
		//通过js来提交表单
		document.getElementById("myform").submit();
	}	
}
</script>
</head>
<!-- 
 在页面中获得键盘上按下的键,把事件放在body上
-->
<body onkeyup="mykd(event)">
<form id="myform" action="xxx.html" method="post">
	用户:<input type="text" name="username" ><br>
	密码:<input type="password" name="password" ><br>
	<input type="submit" value="提交">
</form>
</body>
</html>

在这里插入图片描述

8、onload

在 body 标签中使用,载入页面的时候执行。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
//加载时执行的事件
function myload()
{
	alert(8);
}
</script>
</head>
<!-- 
 在页面中获得键盘上按下的键,把事件放在body上
 -->
<body onload="myload()">
</body>
</html>

在这里插入图片描述

9、onselect

用在表单元素中,当元素被选择时执行。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function mys()
{
	alert(0)
}
</script>
</head>
<body >
爱好:<input type="text" onselect="mys()" name="favor" value="1">
</body>
</html>

在这里插入图片描述

10、onmousedown

按下鼠标按键时执行。

11、onmousemove

鼠标光标在元素上移动时执行。

12、onmouseout

鼠标光标移开元素时执行。

13、onmouseover

鼠标光标移到元素上时执行。

14、onmouseup

当释放鼠标按键时执行。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function md()
{
	alert(0)
}
function mu()
{
	alert(8)
}
function mo()
{
	alert(1)
}
function mout()
{
	alert(2)
}
function mm()
{
	alert(3)
}
</script>
</head>
<body >
<div style="border: 1px solid black; width: 100px;height: 100px;" onmousedown="md()">1</div>
<div style="border: 1px solid black; width: 100px;height: 100px;" onmouseup="mu()">2</div>
<!-- 
	鼠标移动到元素上就触发
 -->
<div style="border: 1px solid black; width: 100px;height: 100px;" onmouseover="mo()">3</div>
<div style="border: 1px solid black; width: 100px;height: 100px;" onmouseout="mout()">4</div>
<div style="border: 1px solid black; width: 100px;height: 100px;" onmousemove="mm()">5</div>
</body>
</html>

在这里插入图片描述

15、onsubmit

用在表单元素中,当表单提交时执行。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">	
function mykd(e)
{
	//设置是否提交表单的标志
	var isSubmit = true;
	var keyNum = null;
	var keyChar = null;
	//获得键盘上按下的键对应的ascii码
	keyNum = window.event?e.keyCode : e.which;	
	if(keyNum == 13)
	{		
		var reg = /^\d{3,5}$/;
		//获得username
		var username = document.getElementById("username").value;
		//验证username是否合法
		if(!reg.test(username))
		{
			document.getElementById("tip").innerHTML = "请输入3到5位的数字";
			isSubmit = false;
		}
		if(isSubmit)
		{
			//通过js来提交表单
			document.getElementById("myform").submit();
		}		
	}	
} 
function mysubmit()
{
	//设置是否提交表单的标志
	 var isSubmit = true;
	//定义正则表达式
	var reg = /^\d{3,5}$/;
	//获得username
	var username = document.getElementById("username").value;
	//验证username是否合法
	if(!reg.test(username))
	{
		document.getElementById("tip").innerHTML = "请输入3到5位的数字";
		//把提交的标志设置成false
		isSubmit = false;
	}
	return isSubmit;
}
</script>
</head>
<!-- 
 在页面中获得键盘上按下的键,把事件放在body上
 -->
<body onkeyup="mykd(event)">
<!-- 
 onsubmit主要是作用在提交按钮上
 -->
<form id="myform" action="xxx.html" onsubmit="return mysubmit()" method="post">
	用户:<input type="text" name="username" id="username"><span id="tip"></span><br>
	密码:<input type="password" name="password" ><br>
	<input type="submit" value="提交">
</form>	
</body>
</html>

在这里插入图片描述
如有错误,欢迎指正!

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值