简单的html页面:
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jquery绑定点击事件title>
<script src="https://code.jquery.com/jquery-3.5.1.min.js">script>
<script type="text/javascript">
// 等待页面加载结束
$(document).ready(function(){
//此处写jquery
});
script>
head>
<body>
<form>
姓名:<input type="text" id="name_input" value="" /><br/>
年龄:<select id="age_sel">
<option>18option>
<option>19option>
<option>20option>
<option>21option>
select>
<br/>
<input type="submit" id="sub_click" value="点击提交" />
form>
body>
html>
$("#sub_click").click(function(){
var name = $("#name_input").val();
alert(name);
});
$("#sub_click").bind("click",function(){
var name = $("#name_input").val();
alert(name);
});
$("#sub_click").on("click",function(){
var name = $("#name_input").val();
alert(name);
});
$("#age_sel").change(function(){
var age = $("#age_sel").val();
alert(age);
});
$("#age_sel").bind("change",function(){
var age = $("#age_sel").val();
alert(age);
});
$("#age_sel").on("change",function(){
var age = $("#age_sel").val();
alert(age);
});
多个元素绑定多个事件:
//这里的元素与事件是一一对应的,元素a与click事件对应,元素b与change事件对应
//元素a不能触发change事件,同理元素b不能触发click事件
$("#a,#b").on("click,change",function(){
//事件操作
});
注:
bind()的用法:
$("a").bind("click",[data],function(){})
其事件的绑定者是固定的,就是a,第一个参数是事件,第二个参数可选,是要传递给回调函数的event.data参数,第三个参数是回调函数。
on()的用法:
$("body").on("click",'a',[data],function(){})
相比于bind(),除了事件的绑定者(on事件的是body),在on的参数中还增加了一个选择器a,而事件将作用于这个a上面。
区别:
正是由于on()函数的参数中多出了一个选择a,因此我们可以为动态生成的元素也绑定事件,这是bind()函数做不到的。