Jquery中事件的绑定和解除

本文详细介绍了使用jQuery进行事件绑定的方法,包括.on()用于可重复触发事件、.one()用于仅触发一次的事件绑定,以及如何通过.trigger()手动触发事件。此外还展示了如何使用.off()来解除事件绑定。
<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			.div{
				background-color: #0000FF;
				align-content: center;
				width:100px;
				height: 200px;
			}
		</style>
		<script src="js/jquery-1.12.1.js"></script>
		<script>
			console.info("this1: " + this);
			$(function() {
				console.info("this2:" + this);
				//on代表可重复触发事件,如果对同一个元素同一个事件进行多次绑定,则会按照绑定的顺序执行
				$(".div").on("mouseover", function(){
					console.info("(this)3: " + this);
					console.info("$(this)3: " + $(this));
					$(this).css("background-color", "#FFA500");
				});
				//one代表一次触发事件(表单提交)
				$("button").one("click", function(){
					alert("数据已经提交");
				});
				//当输入框中长度=6时,自动提交
				$("input").on("keyup", function(){
					console.info($(this));
					var v = $(this).val();
					console.info(v);
					if(v.length == 6){
						//trigger触发元素绑定上的事件,因为button上绑定一次性提交事件,故只会提交一次
						$("button").trigger("click");
					}
				});
				//利用off解除事件绑定,和on对应
				//1、解除所有组件的事件绑定
				//$("*").off("click");
				$("*").off();//如果没有参数,则接触元素所有的事件
			});
			
		</script>
	</head>

	<body>
	<div class="div">
		<input type="text" />
		<button>提交</button>
	</div>
	</body>

</html>

jQuery中,常见的绑定解绑事件的方法如下: ### 绑定事件的方法 1. **`click()`**:直接为元素绑定点击事件。例如: ```javascript $("#dv2").click(function () { alert("你点了div"); }); ``` 这里为 `id` 为 `dv2` 的元素绑定点击事件,当该元素被点击时会弹出提示框 [^1]。 2. **`delegate()`**:用于为父元素中的子元素绑定事件。例如: ```javascript $("#dv2").delegate("p","click",function () { alert("你点了p"); }); ``` 这是为 `id` 为 `dv2` 的父元素中的 `p` 子元素绑定点击事件 [^1]。 3. **`on()`**:可以为当前元素或后代元素绑定事件,适用于动态创建的元素。例如: ```javascript $('#u1').on('click','li',function(event){ alert(event.currentTarget.textContent) }); ``` 为 `id` 为 `u1` 的元素及其后代 `li` 元素绑定点击事件,即使后续动态添加 `li` 元素,这些新元素也会有该点击事件 [^3]。 4. **`bind()`**:为元素绑定事件。例如: ```javascript $('img').bind('click',function(){ if(i%2==0){ this.src='b.png'; }else{ this.src='a.png'; } i++; }); ``` 为 `img` 元素绑定点击事件,点击时会切换图片 [^4]。 ### 解绑事件的方法 1. **`off()`**:用于解绑事件。如果 `off` 不加参数,表示解除所有事件;如果加参数,表示解绑指定的事件。例如: ```javascript // 解绑指定事件 $("#btnId").off("mouseover"); // 解除所有事件 $("#dv2").off(); ``` 前者解绑了 `id` 为 `btnId` 元素的 `mouseover` 事件,后者解除了 `id` 为 `dv2` 元素的所有事件 [^1][^2]。 2. **`unbind()`**:也是用于解绑事件。例如: ```javascript $('img').unbind('click'); ``` 这行代码解绑了 `img` 元素的点击事件 [^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值