您的位置:首页 > 健康 > 养生 > JavaWeb——JavaScript(4/4)- JS事件监听:事件绑定、常见事件、案例(原始代码,完整代码,最终效果 )

JavaWeb——JavaScript(4/4)- JS事件监听:事件绑定、常见事件、案例(原始代码,完整代码,最终效果 )

2025/4/22 7:08:33 来源:https://blog.csdn.net/li13437542099/article/details/140618149  浏览:    关键词:JavaWeb——JavaScript(4/4)- JS事件监听:事件绑定、常见事件、案例(原始代码,完整代码,最终效果 )

目录

事件绑定

常见事件

案例

原始代码

完整代码

最终效果 


事件绑定

事件绑定是将特定的事件(如点击、鼠标移动、键盘按键按下等)与相应的处理函数关联起来的过程。当指定的事件在对应的元素上发生时,与之绑定的处理函数就会被调用执行,以实现相应的功能或操作。

  • 方式一:通过HTML标签中的事件属性进行绑定
<body><input type="button" value="按钮1" onclick="on()">
</body>
<script>function on(){alert("我被点击了!");}
</script>
  • 方式二:通过DOM元素属性绑定
<body><input type="button" value="按钮1" onclick="on()" id="btn">
</body>
<script>document.querySelector("#btn").onclick = function(){alert("我被点击了!");}
</script>

常见事件

事件名说明
onclick鼠标单击事件
onblur元素失去焦点
onfocus元素获得焦点
onload某个页面或图像被完成加载
onsubmit当表单提交时触发该事件
onkeydown某个键盘的键被按下
onmouseover鼠标被移到某元素之上
onmouseout鼠标从某元素移开
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>事件-常见事件</title>
</head>
<body><input type="text" onmouseover="over()" onmouseout="out()">
</body>
<script>function over(){console.log("鼠标移进来了");}function out(){console.log("鼠标移出去了");}
</script>
</html>

案例

通过事件监听及DOM操作,完成如下效果实现。

  1. 点击“点亮”按钮点亮灯泡,点击“熄灭”按钮熄灭灯泡。
  2. 输入框鼠标聚焦后,展示小写;鼠标离焦后,展示大写。
  3. 点击“全选”按钮使所有的复选框呈现被选中的状态,点击“反选”按钮使所有的复选框呈现相反勾选的状态。

原始代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>事件-案例</title>
</head>
<body><img id="light" src="img/off.gif"> <br><input type="button" value="点亮" > <input type="button"  value="熄灭" ><br> <br><input type="text" id="name" value="SKY" ><br> <br><input type="checkbox" name="hobby"> 电影<input type="checkbox" name="hobby"> 旅游<input type="checkbox" name="hobby"> 游戏<br><input type="button" value="全选" > <input type="button" value="反选" ></body><script>//1. 点击 "点亮" 按钮, 点亮灯泡; 点击 "熄灭" 按钮, 熄灭灯泡; //2. 输入框聚焦后, 展示小写; 输入框离焦后, 展示大写; //3. 点击 "全选" 按钮使所有的复选框呈现选中状态 ; 点击 "反选" 按钮使所有的复选框呈现取消勾选的状态 ; -- onclick</script>
</html>

完整代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>事件-案例</title>
</head>
<body><img id="light" src="img/off.gif"> <br><input type="button" value="点亮" onclick="on()"> <input type="button"  value="熄灭" onclick="off()"><br> <br><input type="text" id="name" value="SKY" onfocus="lower()" onblur="upper()"><br> <br><input type="checkbox" name="hobby"> 电影<input type="checkbox" name="hobby"> 旅游<input type="checkbox" name="hobby"> 游戏<br><input type="button" value="全选" onclick="checkAll()"> <input type="button" value="反选" onclick="reverse()"></body><script>//1. 点击 "点亮" 按钮, 点亮灯泡; 点击 "熄灭" 按钮, 熄灭灯泡; -- onclickfunction on(){//a. 获取img元素对象var img = document.getElementById("light");//b. 设置src属性img.src = "img/on.gif";}function off(){//a. 获取img元素对象var img = document.getElementById("light");//b. 设置src属性img.src = "img/off.gif";}//2. 输入框聚焦后, 展示小写; 输入框离焦后, 展示大写; -- onfocus , onblurfunction lower(){//小写//a. 获取输入框元素对象var input = document.getElementById("name");//b. 将值转为小写input.value = input.value.toLowerCase();}function upper(){//大写//a. 获取输入框元素对象var input = document.getElementById("name");//b. 将值转为大写input.value = input.value.toUpperCase();}//3. 点击 "全选" 按钮使所有的复选框呈现选中状态 ;  -- onclickfunction checkAll(){//a. 获取所有复选框元素对象var hobbys = document.getElementsByName("hobby");//b. 设置选中状态for (let i = 0; i < hobbys.length; i++) {const element = hobbys[i];element.checked = true;}}// 点击 "反选" 按钮使所有的复选框呈现相反勾选的状态 function reverse(){//a. 获取所有复选框元素对象var hobbys = document.getElementsByName("hobby");//b. 反选状态for (let i = 0; i < hobbys.length; i++) {const element = hobbys[i];element.checked = (element.checked) ? false : true;}}</script>
</html>

最终效果 


END


学习自:黑马程序员——JavaWeb课程

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com