文章目录

  • 一、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事件)相关推荐

  1. DOM对象之事件对象(Object《Event》)

    DOM对象之事件对象(Object<Event>) HTML DOM 事件(DOM Objext:<Event>)允许Javascript在HTML文档元素中注册不同事件处理程 ...

  2. 前端入门之——javascript day8 DOM对象(DHTML)

    DOM对象(DHTML) 7.1 什么是 DOM? DOM 是 W3C(万维网联盟)的标准.DOM 定义了访问 HTML 和 XML 文档的标准: "W3C 文档对象模型(DOM)是中立于平 ...

  3. JavaScript中DOM对象的详解

    *** JavaScript中DOM对象的详解*** DOM对象:Document Object Model,文档对象模型.也称为document(文档对象),是HTML页面当前窗体的内容,是连接JS ...

  4. JavaScript 的DOM对象

    JavaScript 的DOM对象 1.DOM对象的概念 1.DOM:文档对象模型(Document Object Model) 2.document对象,是DOM中的顶级对象,封装了HTML的相关属 ...

  5. JavaScript操作DOM对象 Day05

    JavaScript操作DOM对象 0 核心 浏览器网页就是一个Dom树形结构! 获取Dom节点:得到Dom节点 更新:更新Dom节点 添加:添加一个新的节点 删除:删除一个Dom节点 要操作一个Do ...

  6. JavaScript之DOM对象

    JavaScript之DOM对象 DOM概述 (Element)元素节点对象 获取Element对象 操作Element对象及元素对象常见属性 value className checked inne ...

  7. JavaScript基础——第三章,JavaScript操作DOM对象

    JavaScript操作DOM对象 DOM:Document Object Model (文档对象模型) 节点和节点的关系 访问节点 使用getElement系列方法访问指定节点 根据层次关系访问节点 ...

  8. JavaScript操作DOM对象

    目录 一.DOM操作 (一).DOM操作分类 (二).节点和节点的关系 (三).访问节点 (四).节点信息 二.操作节点 (一)操作节点的属性 (二).创建和插入节点 (三).删除和替换节点 (四). ...

  9. [JavaScript]关于JavaScript中DOM对象的使用

    DOM对象是个好东西. 通过 HTML DOM,可以访问 JavaScript HTML 文档的所有元素. 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model, ...

最新文章

  1. OpenCV中图像Mat,二维指针和CxImage类之间的转换
  2. invalid character found in the request target 异常
  3. 星座图(2020特长生 T4)
  4. 那些年踩过的Java异常,简直了!
  5. C语言 main 函数参数 main(int argc, char *argv[]) - C语言零基础入门教程
  6. jQueryEasyUI Messager基本使用
  7. c语言 除法小数点怎么写,高精度除法小数点位数
  8. 计算机组成原理 第二章 数据的表示与运算
  9. 在gcp终端中使用ssh连接到本地机器
  10. python使用-python使用
  11. Jsp/servlet面试题
  12. 五分钟看懂plc梯形图程序
  13. 遇到“此网站的安全证书有问题”怎么办
  14. 一款自制的视频录制软件
  15. SQL注入原理及联合查询
  16. RK3288[android 7.1]调试笔记 修改默认时区是北京时间
  17. 对文件进行的操作命令
  18. 资深IT经理人的辞职信 - 怀着梦想去远行!- 让自己慢下来(29)
  19. tm1650中文资料_[STM8入门资料]第53讲 TM1650 LED数码管驱动芯片工作原理
  20. 复变函数---函数基本概念

热门文章

  1. php7链接数据库报错The server requested authentication method unknown to the client
  2. html设置功能区菜单,html – 具有“3D”效果的功能区
  3. dm数据库 linux版下载,linux环境搭建DM数据库
  4. 从svn导入多个项目_GIT和SVN相比有哪些优势?如何在团队内部推行GIT?
  5. mysql with-embedded-server_终于成功实验程序实现Embedded MySQL Server启动(C/C++)
  6. yum安装ruby_rediscluster安装
  7. ie 打开后端发过来的pdf_JS如何下载资源文件,并且兼容IE、Edge
  8. oracle 转换为double,Oracle - 将Varchar转换为Float并指定精度
  9. python 购物车程序_Python 购物车程序(文件版)
  10. ogg oracle 测试kafka_利用ogg实现oracle到kafka的增量数据实时同步