jQuery的事件处理你知道多少
一、jQuery的事件处理
1、页面载入事件
$(document).ready() --- onload
2、事件绑定(bind)
bind(type,[data],fn)
type
:表示事件类型(click
、mouseover
、mouseout...
)
[data]
:可选参数,表示传递给事件对象的额外数据
fn
:是一个函数(事件处理函数),当事件发生时执行的程序
为每一个匹配元素的特定事件(像click)绑定一个事件处理器函数
<!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 class="lazy" data-src="../jq/jquery.js"></script>
</head>
<body>
<button id="btn">确定</button>
<script>
$(function(){
$('#btn').bind('click',function(){//可以给按钮绑定其他事件
alert('事件绑定')
})
})
</script>
</body>
</html>
显示效果:点击确定按钮之后,出现弹窗
<!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 class="lazy" data-src="../jq/jquery.js"></script>
</head>
<body>
<img class="lazy" data-src="../img/1.jpg" alt="" width="150" height="200">
<script>
$(function(){
//通过鼠标的悬停、离开事件来改变img的图像
$('img').bind('mouseover',function(){
$(this).attr({class="lazy" data-src:'../img/2.jpg'})//this表示的是img这个元素
})
$('img').bind('mouseout',function(){
$(this).attr({class="lazy" data-src:'../img/1.jpg'})
})
})
</script>
</body>
</html>
显示效果:当鼠标悬停在图片上时,显示的是一个图片。当鼠标离开这个图片时,显示的是另一张图片。反复交替,没有限制。
3、反绑定事件(unbind)
unbind([type],[data])
:删除绑定的事件
(1)不带参数:删除元素上绑定的所有事件
(2)带参数:[type]表示事件类型
<!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 class="lazy" data-src="../jq/jquery.js"></script>
</head>
<body>
<img class="lazy" data-src="../img/1.jpg" alt="" width="150" height="200">
<script>
$(function(){
//通过鼠标的悬停、离开事件来改变img的图像
$('img').bind('mouseover',function(){
$(this).attr({class="lazy" data-src:'../img/2.jpg'})//this表示的是img这个元素
})
$('img').bind('mouseout',function(){
$(this).attr({class="lazy" data-src:'../img/1.jpg'})
})
$('img').unbind('mouseout')//解绑
})
</script>
</body>
</html>
显示效果:鼠标离开图片之后,图片不会变成1.jpg
4、一次性事件绑定(one)
绑定的事件只能执行一次
<!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 class="lazy" data-src="../jq/jquery.js"></script>
</head>
<body>
<img class="lazy" data-src="../img/1.jpg" alt="" width="150" height="200">
<script>
$(function(){
//通过鼠标的悬停、离开事件来改变img的图像
$('img').bind('mouseover',function(){
$(this).attr({class="lazy" data-src:'../img/2.jpg'})//this表示的是img这个元素
})
//一次性事件绑定
$('img').one('mouseout',function(){
$(this).attr({class="lazy" data-src:'../img/1.jpg'})
})
})
</script>
</body>
</html>
显示效果:鼠标离开图片后,图片会变成1.jpg,但是这种变化只会执行一次。第二次离开图片时,就不会变成1.jpg。
5、模拟鼠标悬停(hover)
<!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 class="lazy" data-src="../jq/jquery.js"></script></head><body> <div style="width: 200px; height: 200px; background-color: red;"></div> <script> $(function(){ $('div').hover(function(){ $(this).css('backgroundColor','pink') }) }) </script></body></html><!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 class="lazy" data-src="../jq/jquery.js"></script>
</head>
<body>
<div style="width: 200px; height: 200px; background-color: red;"></div>
<script>
$(function(){
$('div').hover(function(){
$(this).css('backgroundColor','pink')
})
})
</script>
</body>
</html>
显示效果:鼠标悬停在图片上时,图片由红色变为粉色。离开图片时并不会变回原来的红色。
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341