JS常用的五大事件 onclick nochanger onload onsubmit onblur |
JS事件
一、什么是事件?事件是电脑输入设备与页面交互的响应。我们称之为事件。
常用的事件:
onload加载完成事件
onclick单击事件
onblur失去焦点事件
onchange内容发生改变事件 经常用于select下拉列表选中后的内容发生改变时候触发
onsubmit表单提交事件 经常用来在表单提交的时候验证所有表单项是否合法。
二、事件的注册又分为静态注册和动态注册两种:
静态注册事件:
就是在标签上使用事件属性赋值的形式
给这个标签的事件响应添加javaScript代码的方式,我们称之为静态注册事件。
动态注册事件:
动态注册,需要我们先获取到标签对象。
然后通过对标签对象的的属性进行赋值一个function函数的形式。
动态注册需要分两步走:
第一步,先获取标签对象
第二步,通过标签对象.事件名 = function(){ }
事件一、onclick(下面是静态注册单击事件示例)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>The event of script</title>
<script type="text/javascript">
function onclickEvent(){
alert("您点击了我 我是一个单击钮触发的事件并且此处由静态加载!!");
}
</script>
</head>
<body>
<input type="button" onclick="onclickEvent();" value="单击事件静态"/>
</body>
</html>
事件二、onload(下面是静态加载)事件 是在页面被浏览器加载完成之后。自动触发的响应
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<!--
onload事件 是在页面被浏览器加载完成之后。自动触发的响应
此处静态注册
-->
<script type="text/javascript">
alert("onloadFun() 还未起作用 现在页面还没有加载完!");
function onloadFun(){
//alert("页面被加载完成!之后执行");
// 在javaScript中,我们要操作一个标签要分两步走:
// 第一步,先获取标签对象
//get 获取
//Element 元素(元素也就是标签)
// by 是由 经 ,通过
// id 是id属性
var spanObj = document.getElementById("span01");
alert(spanObj.innerHTML);
// alert(spanObj);
// 第二步,操作标签对象的属性
// innerHTML 表示对象的起始标签和结束标签中间的html文本内容
//alert( spanObj.innerHTML );
//spanObj.innerHTML = "xxxxxx";
// 创建一个date对象获取当前时间
var date = new Date();
// 把日期对象转换成为字符串
var dateStr = date.toLocaleString();
alert("页面加载完 script函数执行中我将更改span标签的内容!!为一个时间");
spanObj.innerHTML = dateStr;
}
</script>
</head>
<body onload="onloadFun();">
<button>我也是一个按钮</button><br />
<span id="span01">我是span标签用来检验onload事件的静态加载 现在页面加载完 我出现</span>
</body>
</html>
《2》动态注册onload 和 onclick 事件(单击事件 加载完成事件)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
alert("页面加载前 未显示页面内容");
/*
onload事件的动态注册的写法
*/
window.onload = function() {
// alert("页面被加载完成!");
// 动态注册需要分两步走:
// 第一步,先获取标签对象
var buObj = document.getElementById("bu01");
// alert(buObj);
// 第二步,通过标签对象.事件名 = function(){ }
alert("页面加载完成 我已获取按钮并绑定单击事件!!");
buObj.onclick = function(){
alert("这是刚刚页面动态加载完给按钮绑定的单击事件 点击看看!");
}
}
</script>
</head>
<body>
<button id="bu01">我是一个按钮</button>
<font color="red" size="5">如果页面加载完 就会看见我了</font>
</body>
</html>
事件三onblur 动态 和 静态 注册(失去焦点事件)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
alert("现在未执行动态加载是页面加载前你看不懂表单吧!!");
//onblur静态触发的script函数
function onblurFun(){
alert("用户名失去焦点!");
}
//动态获取加载完页面并赋与触发事件
window.onload = function() {
alert("此时页面加载完 账号标签已经被静态的注册了失去焦点事件");
//第一步,先获取标签对象
var passObj = document.getElementById("password");
// alert(passObj);
//第二步,通过标签对象.事件名 = function(){}
alert("页面已加载完 已获取到密码标签并正在执行绑定onblur事件");
passObj.onblur = function() {
alert("密码框动态注册的onblur事件生效 ");
}
}
</script>
</head>
<body>
<!--
静态注册失去焦点事件
-->
账号:<input type="text" onblur="onblurFun()"/><br/>
密码:<input id="password" type="password" /><br/>
邮箱:<input id="email" type="text" /><br/>
</body>
</html>
事件四onchange 动态 和 静态 注册(内容发生改变事件)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function onchangeFun(){
alert("静态注册的onchage事件 ");
}
alert("现在页面未加载但是男神下拉框 已经被静态绑定了onchange 改变事件");
// 页面加载完成之后
window.onload = function() {
// 1.通过id属性值获取第二个select标签对象
var selectObj = document.getElementById("select01");
// 2.通过标签对象.事件名 = function(){}
alert("现在页面加载完成 对女神下拉框动态注册onchange事件中");
selectObj.onchange = function() {
alert("这是动态创建的onchange事件 ");
}
}
</script>
</head>
<body>
请选择你心中的男神:
<select onchange="onchangeFun();">
<option selected="selected">刘德华</option>
<option>张学友</option>
<option>张国荣</option>
</select>
<br/>
请选择你心中的女神:
<select id="select01">
<option>李四</option>
<option selected="selected">张三</option>
<option>王五</option>
</select>
</body>
</html>
事件五onsubmit 动态 和 静态 注册(内容发生改变事件)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function onsubmitFun() {
alert("验证所有的表单操作……");
// 情况1 如果有一个表单不合法,我们就可以直接return false;阻止表单提交到服务器
alert("有表单不合法,阻止提交");
return false;
// 情况2 如果所有的表单都合法
alert("所有的表单都合法,通过验证,让表单提交到服务器");
return true;
}
</script>
</head>
<body>
<!--
onsubmit事件 ,是表单提交事件。经常用来在表单提交的时候验证所有表单项是否合法。
我们在静态注册的时候,必须手动态写上reutrn false可以阻止表单的提交
return false可以阻止html标签元素的默认行为
-->
<form action="http://www.baidu.com" method="get"
onsubmit="return onsubmitFun();">
用户名:<input type="text" /><br /><br />
<input type="submit" value="我是一个sumbit按钮"/>
</form>
</body>
</html>