jQuery---绑定和解绑事件

绑定事件


<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>

	<body>
		<ul>
			<li>我是一个li标签1</li>
			<li>我是一个li标签2</li>
			<li>我是一个li标签3</li>
			<li>我是一个li标签4</li>
			<li>我是一个li标签5</li>
			<li>我是一个li标签6</li>
			<li>我是一个li标签7</li>
			<li>我是一个li标签8</li>
			<li>我是一个li标签9</li>
		</ul>
		<script  src="../js/jquery.min.js"></script>
		<script>
			/**
			 *  以下做法,浏览器的js引擎在解释该代码时,会针对每个li元素添加单击事件
			 * ,相当于在内存中遍历出每个li元素,依次给它们添加单击事件
			 */
			/*$("ul>li").click(function(){
				  console.log("被点击了,"+$(this).html());
			})*/
			/**
			 *  当需要批量的给多个相同元素添加事件时,建议使用绑定事件的语法
			 * $(selector).on(types, childSelector, data, handlerFunction)
			 * 其中,selector是选择器,是用来选择父元素的
			 * types:要添加的事件类型,可以是一个或多个事件,多个事件之间用空格隔开
			 * childSelector:子元素选择器,用来将一个或多个事件添加到哪个子元素上,由子元素来响应事件
			 * data:传递给响应函数的额外数据,数据格式为json格式,即key:value,获取数据时用event.data.key
			 * handlerFunction:事件发生时要调用的响应函数
			 * 
			 *  执行机制:是将事件由父元素向下传播给子元素,与事件冒泡相反,浏览器的js引擎只选择了父元素
			 * 
			 */
			  $("ul").on("click mouseenter","li",{"city":"武汉"},function(event){
			  	  console.log("被点击了,"+$(this).html()+",传过来的参数city:"+event.data.city);
			  })
		</script>
	</body>

</html>

绑定事件效果图

off解绑事件


<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>

	<body>
		<div style="width: 300px;height: 300px;background-color: yellow;">我是div</div>
		<script  src="../js/jquery.min.js"></script>
		<script>
			/**
			 *  on():绑定事件,将父元素的事件由上向下传播给子元素
			 * off() 方法移除用.on()绑定的事件处理程序
			 * 语法:$(selector).off(types,childSelector)
			 * selector:父元素选择器,是用来选择父元素的
			 *   types	可选。规定要从被选元素移除的一个或多个事件,多个事件之间用空格隔开
             *  childSelector	可选。指定对某个子元素进行解绑
             *  注意:对于 body元素的选择,可以写$(document.body)或者$("body")
             * 特殊: 如果off()不传任何参数,则表示移除所有子元素的所有事件
			 */ 
			/* $(document.body).on("click","div",function(){
			 	 console.log("子元素响应了事件,子元素内容"+$(this).html());
			 	 //对子元素解绑事件
			 	 $("body").off("click","div");
			 })*/
			  $("body").on("click mouseenter","div",function(){
			 	 console.log("子元素响应了单击和鼠标进入事件,子元素内容"+$(this).html());
			 	 //对子元素解绑所有事件
			 	 $("body").off();
			 })
		</script>
	</body>

</html>

解绑事件

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值