HTML——jQuery之事件绑定、取消事件绑定及事件委托

事件绑定

事件绑定有两种方法:分别是:.click().on()

<!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>Document</title>
  <script src="../jquery-1.11.3.js"></script>
  <style>
    #mydiv button {
      margin: 0 20px;
    }
  </style>
</head>
<body>
  <button id="btn1">点击</button>
  <script>
	//给btn1绑定事件
     $('#btn1').click(function () {
     	 console.log(1230)
     })
  </script>
</body>
</html>

如图给id为btn1的button绑定事件,点击结果则为:在控制台打印“1230”


<!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>Document</title>
  <script src="../jquery-1.11.3.js"></script>
</head>

<body>
  <button id="btn1">点击</button>
  <button id="btn2">点击2</button>
  <script>
  	//给btn1绑定事件(.click和.on都可给目标节点绑定事件)
    $('#btn1').click(function () {
     	 console.log(1230)
     })
    //给btn2绑定事件
    $('#btn2').on('click', function () {
      // 取消btn1的事件绑定
      $('#btn1').off('click')
    })
  </script>
</body>
</html>

如上代码块:我们给id为btn1的button绑定了click事件,执行结果为:在控制台打印“0123”。
则写下面的则是给id为btn2的button绑定一个click事件,执行结果为:给id为btn1的button解除了事件绑定。


事件委托

<!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>Document</title>
  <script src="../jquery-1.11.3.js"></script>
  <style>
    #mydiv button {
      margin: 0 20px;
    }
  </style>
</head>
<body>
  <div id="mydiv">

  </div>
  <button id="btn1">点击</button>
  <script>
    let num = 1
    //给id为btn1的button绑定事件
    $('#btn1').on('click', function () {
    //往id为mydiv的div里添加一个按钮,且点击几次就是按钮几,
    //比如点击一次就是按钮1,点击两次就是按钮2............
      $('#mydiv').append(`<button>按钮${num++}</button>`)
    })

    // 事件委托(给id为mydiv的div里的button添加绑定事件)
    $('#mydiv').on('click', 'button', function () {
    	//则每个button点击后的执行结果都为:在控制台打印“被点击了”
      console.log('被点击了')
    })
  </script>
</body>
</html>

总结

绑定事件有两种方式:
1、.click(事件处理函数(匿名函数))
2、.on('事件名',事件处理函数(匿名函数))

事件委托:
.on('事件名','目标绑定的标签名',事件处理函数(匿名函数))

特别注意:在事件委托中,.on()后面的标签委托的,必须是前面标签的儿子,不能委托前面标签的弟弟元素或者兄弟元素。

通常用于页面还不存在该元素,通过动态添加元素或者自己手动添加的元素去绑定事件。(我所说的自己手动添加不是说写在html里,还是像我最后那个代码块样,并不是页面运行后,就已经存在的元素)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨不旧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值