jQuery事件的示例分析
这篇文章主要介绍了jQuery事件的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
一.window事件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>New Web Project</title>
<script type="text/javascript" class="lazy" data-src="js/jQuery1.11.1.js"></script>
<script type="text/javascript">
$(function(){
alert("1");
})
window.onload=function
</script>
</head>
<body>
<h2>New Web Project Page</h2>
</body>
</html>
二.鼠标事件(光棒效果)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>New Web Project</title>
<script type="text/javascript" class="lazy" data-src="js/jQuery1.11.1.js"></script>
<script type="text/javascript">
$(function(){
var aa=$("li");
aa.mouseover(function(){
$(this).css("background","blue")
})
aa.mouseout(function(){
$(this).css("background","")
})
})
</script>
</head>
<body>
<ul>
<li>呵呵</li>
<li>嘻嘻</li>
<li>哈哈</li>
</ul>
</body>
</html>
三.键盘事件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>New Web Project</title>
<script type="text/javascript" class="lazy" data-src="js/jQuery1.11.1.js"></script>
<script type="text/javascript">
$(function(){
$("input").keyup(function(event){
var co=event.keyCode;
alert(co);
})
})
</script>
</head>
<body>
<h2>呵呵</h2>
<input />
</body>
</html>
四.表单事件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>New Web Project</title>
<script type="text/javascript" class="lazy" data-src="js/jQuery1.11.1.js"></script>
<script type="text/javascript">
$(function(){
$("input").focus(function(){
$("span").addClass("myred")
});
$("input").blur(function(){
$("span").removeClass("myred")
});
});
</script>
</head>
<body>
<h2>呵呵</h2>
<input /><span >啊啊啊啊啊啊</span><br />
<input /><span >啊啊啊啊啊啊</span>
</body>
</html>
五.绑定 解除
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>New Web Project</title>
<script type="text/javascript" class="lazy" data-src="js/jQuery1.11.1.js"></script>
<script type="text/javascript">
$(function(){
$("li").bind({
"mouseover":function(){
$(this).css("background","blue")
},
"mouseout":function(){
$(this).css("background","")
}
"click":function(){
alert($(this).text());
}
}).unbind("mouseover mouseout");
});
</script>
</head>
<body>
<ul>
<li>呵呵</li>
<li>嘻嘻</li>
<li>哈哈</li>
</ul>
</body>
</html>
JQ的live(),on(),deletage(),bind()几个的区别
bind()方法是绑定事件最直接的方法,这个方法是绑定到document上存在最久的方法,也很好的解决了兼容性方面的问题;
bind()方法的优点:
1.很好的解决了各个浏览器的兼容性问题;
2.非常方便简单的能进行事件的绑定;
3.对于利用ID选出来的元素是非常好的,不仅仅是很快的可以hook上去(因为一个页面只有一个id),而且当事件发生时,handler可以立即被执行实现方式;
bind()方法的缺点:
1.bind()不会绑定在通过bind()添加的元素上面;
2.他会绑定到所有选出来的元素上面;
3.只有当页面加载完成后才会执行bind()事件,可能会产生效率问题;
live()这个绑定方法是通过冒泡机制来进行绑定的,由于在JQ1.7以上已经不推荐使用,在此不进行说明了;
deletage()这个方法在此之前从来没有用过,看过万丈后才知道还有这么一个绑定事件的方法;
deletage()这个方法的有点像live()方法,但不同于live()方法的地方在于他不会将event绑定到所有的ducoment上面,而是由你决定将他绑定在什么上面;
deletage()的优点:
1.支持绑定到动态添加的元素上面
2.你可以选择把那个那个事件放到你指定的元素上面;
deletage()的缺点:
1.尽管减少了decoment已经很少了,但是还是需要来查找那个元素上面绑定了那个事件。需要花一定的时间。
on():其实bind(),live(),delegate()都可以用on()方法来代替;就像undind();die()和undeletage()一样可以用off()来实现一样;
on()的优点:1.提供了一种统一的绑定事件的机制。
on()的缺点:1.隐藏了一些前面方法的细节。
总结:用bind()的代价是非常大的,他会把所有的时间绑定到DOM上面;
live()zai JQ1.7上面已经不被推荐使用了;
deletage()可以在动态元素上添加绑定事件;
on()结合了前面3种方法,为绑定事件有个统一。但是ON()不支持绑定动态添加的元素
感谢你能够认真阅读完这篇文章,希望小编分享的“jQuery事件的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341