关于jQuery的事件处理疑问
老师,在学习jQuery事件处理时候,我知道可以在javascript里面绑定函数的方法来实现事件绑定。请问这种方法是只有鼠标和键盘事件才能使用的么?表单事件(submit、change、focus等)和文档/窗口事件(load、resize等)是要在对应标签设置的么?比如您看我下面的代码,是1-19的编程练习,虽然已达到题目要求,但是我之前很困惑为什么页面加载事件不能像鼠标键盘事件那样在JS内部单独绑定呢?
如下:我的第一种绑定页面加载的方法是在body标签加了个onlad属性绑定JS内部的jiazai()函数,但是我尝试用第二种方法在JS内来用jQuerty提取标签,为标签设置加载事件方法(即我JS中注释部分),发现不可行。
此外,我知道在表单中添加提交按钮,type值设置为submit的话,按下这个按钮会自动上传表单内容到后台,那这个按钮是默认添加了submit事件的么?如果是的话怎么在修改这个事件的内容呢?就是在上传数据之前弹出提示框之类的其他操作?另外就是,只有这个提交按钮才有submit事件,而其他元素没有这个事件的么?
<!DOCTYPE html > <html> <head> <meta charset="UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jQuery练习</title> <style type="text/css"> .div1 { float: left; width: 50px; line-height: 30px; background-color: lightgray; margin-left: 10px; text-align: center; vertical-align: middle; cursor: pointer; } .div2 { width: 300px; height: 300px; border: solid gray 1px; margin-top: 60px; color: red; } </style> </head> <body onload="jiazai()"> <h2>请选择背景颜色</h2> <div> <div id="blue" class="div1">蓝色</div> <div id="green" class="div1">绿色</div> </div> <div class="div2" id="bg"></div> <div> 输入颜色首字母: <input type="text" name="color"> </div> <script type="text/javascript" src="js/jquery-3.4.1.js"></script> <script type="text/javascript"> function jiazai() { alert("欢迎来到调色页面"); } /*$("body").on("load", function() { alert("欢迎来到调色页面"); });*/ $("#blue").click(function() { //用id选择器 $("#bg").css("background-color", "blue"); $("div.div2").css({ "font-weight" : "normal", "font-style" : "normal" });//将字体样式改回正常默认状态 $("#bg").text("蓝色背景"); }); $("#green").click(function() { //用类选择器 $("div.div2").css("background-color", "green");//设置一个样式,用逗号隔开属性名和属性值 $("div.div2").text("绿色背景"); $("div.div2").css({ "font-weight" : "bold", "font-style" : "italic" });//设置多个样式,,用大括号括起来,用逗号隔开每组属性,属性名与值之间用冒号隔开 }); $("input[name='color']").keypress(function(event) {//属性选择器,属性值用单引号括起来 if (event.keyCode == 66) {//按键是B $("#bg").css("background-color", "blue"); $("div.div2").text(""); } if (event.keyCode == 71) {//按键是G $("div.div2").css("background-color", "green"); $("div.div2").text(""); } }) </script> </body> </html>
0
收起
正在回答
2回答
同学你好,可以的。如:
给body绑定事件,当页面加载时执行。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
2. 从网页搭建入门JavaWeb
- 参与学习 人
- 提交作业 676 份
- 解答问题 9666 个
本阶段将从前端网页搭建入手,到Java Web基础,前后端结合助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星