关于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 星