JavaScript之DOM对象(Event事件)
文章目录
- 一、Event事件汇总
- 二、用法案例
- 1、serche搜索框
- 2、onload加载
- 3、事件绑定——标签内
- 4、事件绑定——JS接函数
- 5、onsubmit表单提交
- 6、事件传播
HTML 4.0 的新特性之一是有能力使 HTML 事件触发浏览器中的动作(action),比如当用户点击某个 HTML 元素时启动一段 JavaScript。
一、Event事件汇总
- onclick 当用户点击某个对象时调用的事件句柄。
- ondblclick 当用户双击某个对象时调用的事件句柄。
- onfocus 元素获得焦点。
- onblur 元素失去焦点。
- onchange 域的内容被改变。
- onkeydown 某个键盘按键被按下。
- onkeypress 某个键盘按键被按下并松开。
- onkeyup 某个键盘按键被松开。
- onload 一张页面或一幅图像完成加载。
- onmousedown 鼠标按钮被按下。
- onmousemove 鼠标被移动。
- onmouseout 鼠标从某元素移开。
- onmouseover 鼠标移到某元素之上。
- onmouseleave 鼠标从元素离开
- onselect 文本被选中。
- onsubmit 确认按钮被点击。
二、用法案例
1、serche搜索框
- 用到的事件
onfocus 元素获得焦点。 //练习:输入框
onblur 元素失去焦点。 应用场景:用于表单验证,用户离开某个输入框时,代表已经输入完了,我们可以对它进行验证.
onchange 域的内容被改变。 应用场景:通常用于表单元素,当元素内容被改变时触发.(三级联动)
- 参考代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<input type="text" id="search" value="请输入用户名:" onfocus="func1()" onblur="func2()"><script>var ele= document.getElementById("search"); //获取标签function func1(){if(ele.value=="请输入用户名:"){ele.value=""; //得到焦点时就将值清空}}function func2(){if(!ele.value.trim()) //或者ele.value.trim()==undefined,trim()表示去掉空格{ele.value="请输入用户名:"; //失去焦点,即点击其他地方就将值变为初始状态}}
</script>
</body>
</html>
2、onload加载
- 用到的事件
onload 一张页面或一幅图像完成加载。
onload 属性开发中 只给 body元素加;
这个属性的触发 标志着页面内容被加载完成;
应用场景: 当有些事情我们希望页面加载完立刻执行,那么可以使用该事件属性。
- 参考代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script>function func(){var ele=document.getElementsByClassName("div1")[0]; //获取div1标签console.log(ele.innerHTML);}</script>
</head>
<body onload="func()">
<div class="div1">I am DIV</div></body>
</html>
3、事件绑定——标签内
直接绑定在标签内
<p id="p1" onclick="func(this)">P标签</p>
这里的this参数可以代表p标签本身,因此在对应的func函数中,可以用一个形参来代表整个p标签进行其他操作
function func(that){//此that就代表了p标签本身,也不需要重新获取了// console.log(that); //打印p标签本身console.log(that.previousElementSibling); //打印p标签前面的兄弟(p标签前面的标签)console.log(that.parentNode); //打印p标签的上级标签}
4、事件绑定——JS接函数
比如有这样一堆div标签:
<div class="div2">DIV2</div><div class="div2">DIV2</div><div class="div2">DIV2</div><div class="div2">DIV2</div><div class="div2">DIV2</div>
先获取class名为div2的标签:
var ele=document.getElementsByClassName("div2");
然后因为原生JS不会去遍历获得的对象,所以如果获得了多个对象需要手动来遍历:
for(var i=0; i<ele.length; i++){//通过对象去绑定事件,来触发函数ele[i].onclick=function(){alert("哈哈哈");}}
当然如果觉得遍历起来麻烦,也可以直接获取全部div标签(需要准确定位时此法不推荐),就不需要手动遍历了,一个下标就代表了一群标签:
var ele=document.getElementsByTagName("div"); //找所有的div标签ele[0].onclick=function(){alert("哈哈");}
5、onsubmit表单提交
- 用到的事件
onkeydown 某个键盘按键被按下。 应用场景: 当用户在最后一个输入框按下回车按键时,表单提交.
onsubmit 确认按钮被点击的效果,将表单提交给服务端。当表单在提交时触发. 该属性也只能给form元素使用.应用场景: 在表单提交前验证用户输入是否正确.如果验证失败.在该方法中我们应该阻止表单的提交.
- 参考代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><form action="" id="form1"><input type="text" name="user" placeholder="username"><input type="submit" value="提交" id="sub">
</form><script>var ele=document.getElementById("form1");// ele.οnsubmit=function(e){// alert("已提交!");// //若返回一个false就不会发送给服务端,而默认返回的是true// // return false;// //或者使用事件e来提交// e.preventDefault();// }ele.onkeydown=function(){alert("已提交!");//若返回一个false就不会发送给服务端,而默认返回的是true// return false;//或者使用事件e来提交e.preventDefault();}</script>
</body>
</html>
6、事件传播
意思就是内层标签与外层标签的相互影响,可以通过阻止外层事件传播到内层事件
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>.outer{width:250px;height: 250px;background-color: #2daebf;}.inner{width: 100px;height: 100px;background-color: blue;}</style>
</head>
<body><div class="outer" onclick="func2()"><div class="inner" onclick="func1()"></div>
</div><script>var ele=document.getElementsByClassName("inner")[0]; //获取inner标签ele.onclick=function(e){alert("inner被触发!");e.stopPropagation(); //阻止事件向外部div传播}function func2(){alert("outer被触发!");}</script>
</body>
</html>
这样点击深蓝色就只会出现“inter被触发”,不会受外部的影响而出现“outer被触发”
JavaScript之DOM对象(Event事件)相关推荐
- DOM对象之事件对象(Object《Event》)
DOM对象之事件对象(Object<Event>) HTML DOM 事件(DOM Objext:<Event>)允许Javascript在HTML文档元素中注册不同事件处理程 ...
- 前端入门之——javascript day8 DOM对象(DHTML)
DOM对象(DHTML) 7.1 什么是 DOM? DOM 是 W3C(万维网联盟)的标准.DOM 定义了访问 HTML 和 XML 文档的标准: "W3C 文档对象模型(DOM)是中立于平 ...
- JavaScript中DOM对象的详解
*** JavaScript中DOM对象的详解*** DOM对象:Document Object Model,文档对象模型.也称为document(文档对象),是HTML页面当前窗体的内容,是连接JS ...
- JavaScript 的DOM对象
JavaScript 的DOM对象 1.DOM对象的概念 1.DOM:文档对象模型(Document Object Model) 2.document对象,是DOM中的顶级对象,封装了HTML的相关属 ...
- JavaScript操作DOM对象 Day05
JavaScript操作DOM对象 0 核心 浏览器网页就是一个Dom树形结构! 获取Dom节点:得到Dom节点 更新:更新Dom节点 添加:添加一个新的节点 删除:删除一个Dom节点 要操作一个Do ...
- JavaScript之DOM对象
JavaScript之DOM对象 DOM概述 (Element)元素节点对象 获取Element对象 操作Element对象及元素对象常见属性 value className checked inne ...
- JavaScript基础——第三章,JavaScript操作DOM对象
JavaScript操作DOM对象 DOM:Document Object Model (文档对象模型) 节点和节点的关系 访问节点 使用getElement系列方法访问指定节点 根据层次关系访问节点 ...
- JavaScript操作DOM对象
目录 一.DOM操作 (一).DOM操作分类 (二).节点和节点的关系 (三).访问节点 (四).节点信息 二.操作节点 (一)操作节点的属性 (二).创建和插入节点 (三).删除和替换节点 (四). ...
- [JavaScript]关于JavaScript中DOM对象的使用
DOM对象是个好东西. 通过 HTML DOM,可以访问 JavaScript HTML 文档的所有元素. 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model, ...
最新文章
- OpenCV中图像Mat,二维指针和CxImage类之间的转换
- invalid character found in the request target 异常
- 星座图(2020特长生 T4)
- 那些年踩过的Java异常,简直了!
- C语言 main 函数参数 main(int argc, char *argv[]) - C语言零基础入门教程
- jQueryEasyUI Messager基本使用
- c语言 除法小数点怎么写,高精度除法小数点位数
- 计算机组成原理 第二章 数据的表示与运算
- 在gcp终端中使用ssh连接到本地机器
- python使用-python使用
- Jsp/servlet面试题
- 五分钟看懂plc梯形图程序
- 遇到“此网站的安全证书有问题”怎么办
- 一款自制的视频录制软件
- SQL注入原理及联合查询
- RK3288[android 7.1]调试笔记 修改默认时区是北京时间
- 对文件进行的操作命令
- 资深IT经理人的辞职信 - 怀着梦想去远行!- 让自己慢下来(29)
- tm1650中文资料_[STM8入门资料]第53讲 TM1650 LED数码管驱动芯片工作原理
- 复变函数---函数基本概念
热门文章
- php7链接数据库报错The server requested authentication method unknown to the client
- html设置功能区菜单,html – 具有“3D”效果的功能区
- dm数据库 linux版下载,linux环境搭建DM数据库
- 从svn导入多个项目_GIT和SVN相比有哪些优势?如何在团队内部推行GIT?
- mysql with-embedded-server_终于成功实验程序实现Embedded MySQL Server启动(C/C++)
- yum安装ruby_rediscluster安装
- ie 打开后端发过来的pdf_JS如何下载资源文件,并且兼容IE、Edge
- oracle 转换为double,Oracle - 将Varchar转换为Float并指定精度
- python 购物车程序_Python 购物车程序(文件版)
- ogg oracle 测试kafka_利用ogg实现oracle到kafka的增量数据实时同步