jQuery第五章事件

这篇博客详细介绍了jQuery中的事件处理,包括绑定事件的bind方法、去除绑定的unbind()、各种鼠标和表单事件如click、mouseover、focus等,还讨论了事件冒泡与默认行为的阻止方法、事件对象event的属性,以及this和event.target的区别。
摘要由CSDN通过智能技术生成

1:绑定事件方法:

bind(事件,函数) 元素绑定事件
**绑定事件方法的优点就是可以绑定多个事件,可以同时处理

<body>
		<button>点击</button>
	</body>
	<script type="text/javascript">
//		$('button').click(function(){
//			alert(12312)
//		})
//		$('button').mouseover(function(){
//			alert(345534)
//		})

//		$('button').bind('click',function(){
//			alert('哈哈哈')
//		})

//		$('button').bind('click mouseover',function(){
//			alert('哈哈哈')
//		})
		
//		$('button').bind({
//			'click':function(){
//				alert('哈哈哈哈')
//			},
//			'mouseover':function(){
//				alert('呵呵呵呵')
//			}
//		})
		
//		$('button').bind('click',a)
//		$('button').bind('mouseover',b)
//		function a(){
//			alert('哈哈哈哈')
//		}
//		function b(){
//			alert('呵呵呵呵')
//		}
		
	</script>

2:去除绑定方法: unbind()

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="../js/jquery-1.10.1.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<button>点击</button>
	</body>
	<script type="text/javascript">
		$('button').bind('click',a)
		$('button').bind('mouseover',b)
		function a(){
			alert('哈哈哈哈')
		}
		function b(){
			alert('呵呵呵呵')
		}
		$('button').unbind('click')
		
		
		
//		$('button').bind({
//			'click':function(){
//				alert('哈哈哈哈')
//			},
//			'mouseover':function(){
//				alert('呵呵呵呵')
//			}
//		})
//		$('button').unbind('click')
	</script>
</html>

3:其他事件方法:
------------------------------鼠标事件----------------------------------------------------------

click() 点击事件
dblclick() 双击
mousedown() 鼠标按下
mouseup() 鼠标弹起
mouseover() 鼠标移入
他们俩个的区别在于:over和out事件碰到子元素也会触发事件,enter和leave不会
mouseout() 鼠标移出
mouseenter() 鼠标移入
mouseleave() 鼠标移出
mousemove() 鼠标移入移出

------------------------------滚动事件----------------------------------------------------------

scroll() 滚动

------------------------------表单事件----------------------------------------------------------

focus() 获取焦点
blur() 失去焦点
focusin() 获取焦点
focusout() 失去焦点
submit() 提交
select() 选中文本
change() 改变文本

------------------------------浏览器事件-------------------------------------------------------

resize() 缩放浏览器

------------------------------键盘事件----------------------------------------------------------

keydown() 键盘按下
keyup() 键盘弹起
keypress() 键盘简码

4:复合事件

hover(函数,函数)
举例:
hover(function(){},function(){})
事件中的第一个函数是移入是做的事情,后面函数里面是移出的时候做的事情

5:如果大家想要用废弃的方法在新版本里面,可以下载 jquery-migrate.js 文件,来向下兼容已被删除掉的方法
6:事件委托方法

	on(事件,要委托的元素,函数)
	one()		只能执行一次事件的方法
	live()		事件委托(在1.9版本被删除)
	die()		删除事件委托(在1.9版本被删除)

7:事件命名空间

举例:
$('li:eq(1)').bind('click.b',f2);
function f2(){
	alert('我是第2个li')
}
$('li:eq(0)').unbind('click.a')

8:事件模拟操作

trigger(事件) 模拟事件方法(在页面刷新的时候模拟执行一次)
trigger()可以传参(字符串,对象,数组)
triggerHandler()

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="../js/jquery-1.10.1.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<button>点击</button>
	</body>
	<script type="text/javascript">
//		$('button').click(function(){
//			alert('我被点击了')
//		}).trigger('click')

//		$('button').click(function(e,data1,data2){ 
//			alert(data1.a+',' +data2[1]); 
//		}).trigger('click',[{'a' :'1','b':'2'},['123','456']]);
	</script>
</html>

9:阻止事件冒泡和默认行为

event.stopPropagation(); 阻止事件冒泡方法
event.preventDefault(); 阻 止默 认 行为 ( 表 单提 交 )
return false 阻 止默 认 行为

阻止事件冒泡

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			*{
				margin: 0;
				padding: 0;
			}
			div{
				width: 500px;
				height: 500px;
				background: red;
			}
			p{
				width: 300px;
				height: 300px;
				background: yellow;
			}
			span{
				display: block;
				width: 100px;
				height: 100px;
				background: blue;
			}
		</style>
		<script src="../js/jquery-1.10.1.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div>
			<p>
				<span>
					<button>点击</button>
				</span>
			</p>
		</div>
	</body>
	<script type="text/javascript">
		$('button').click(function(e){
			alert('我是按钮');
			e.stopPropagation();
		})
		$('span').click(function(){
			alert('我是span')
		})
		$('p').click(function(){
			alert('我是p')
		})
		$('div').click(function(){
			alert('我是div')
		})
	</script>
</html>

阻止默认行为

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="../js/jquery-1.10.1.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<form action="" method="post">
			
			<input type="submit" value="点击"/>
		</form>
		<a href="10事件命名空间.html">点击1</a>
	</body>
	<script type="text/javascript">
		$('input').click(function(event){
			event.preventDefault();
		})
		$('a').click(function(event){
			return false;
		})
	</script>
</html>

10:事件对象 event

对象属性:
event.target 事件源 event.srcElement(IE事件源写法)
event.type 事件类型
event.pageX/Y 鼠标在页面上的坐标位置
event.clientX/Y 鼠标在可视窗口上的坐标位置
event.screenX/Y 鼠标在屏幕上的坐标位置

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			div{
				width: 100px;
				height: 100px;
				background: red;
				position: relative;
				margin: 100px;
			}
			
		</style>
		<script src="../js/jquery-1.10.1.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body style="height: 2000px;">
		<div>
		</div>
	</body>
	<script type="text/javascript">
		$(document).click(function(e){
//			console.log(e.pageX+','+e.pageY)
//			console.log(e.screenX+','+e.screenY)
			console.log(e.clientX+','+e.clientY)
		})
	</script>
</html>

11:this和event.target的区别

this指向事件前对象
event.target指向事件源
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值