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指向事件源