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" src="js/jQuery1.11.1.js"></script>
<script type="text/javascript">
$(function(){
alert("1");
})
window.onload=function
</script>
</head>
<body>
<h1>New Web Project Page</h1>
</body>
</html>
二.鼠標(biāo)事件(光棒效果)
<!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" 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>
三.鍵盤(pán)事件
<!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" 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>
<h1>呵呵</h1>
<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" 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>
<h1>呵呵</h1>
<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" 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()幾個(gè)的區(qū)別
bind()方法是綁定事件最直接的方法,這個(gè)方法是綁定到document上存在最久的方法,也很好的解決了兼容性方面的問(wèn)題;
bind()方法的優(yōu)點(diǎn):
1.很好的解決了各個(gè)瀏覽器的兼容性問(wèn)題;
2.非常方便簡(jiǎn)單的能進(jìn)行事件的綁定;
3.對(duì)于利用ID選出來(lái)的元素是非常好的,不僅僅是很快的可以hook上去(因?yàn)橐粋€(gè)頁(yè)面只有一個(gè)id),而且當(dāng)事件發(fā)生時(shí),handler可以立即被執(zhí)行實(shí)現(xiàn)方式;
bind()方法的缺點(diǎn):
1.bind()不會(huì)綁定在通過(guò)bind()添加的元素上面;
2.他會(huì)綁定到所有選出來(lái)的元素上面;
3.只有當(dāng)頁(yè)面加載完成后才會(huì)執(zhí)行bind()事件,可能會(huì)產(chǎn)生效率問(wèn)題;
live()這個(gè)綁定方法是通過(guò)冒泡機(jī)制來(lái)進(jìn)行綁定的,由于在JQ1.7以上已經(jīng)不推薦使用,在此不進(jìn)行說(shuō)明了;
deletage()這個(gè)方法在此之前從來(lái)沒(méi)有用過(guò),看過(guò)萬(wàn)丈后才知道還有這么一個(gè)綁定事件的方法;
deletage()這個(gè)方法的有點(diǎn)像live()方法,但不同于live()方法的地方在于他不會(huì)將event綁定到所有的ducoment上面,而是由你決定將他綁定在什么上面;
deletage()的優(yōu)點(diǎn):
1.支持綁定到動(dòng)態(tài)添加的元素上面
2.你可以選擇把那個(gè)那個(gè)事件放到你指定的元素上面;
deletage()的缺點(diǎn):
1.盡管減少了decoment已經(jīng)很少了,但是還是需要來(lái)查找那個(gè)元素上面綁定了那個(gè)事件。需要花一定的時(shí)間。
on():其實(shí)bind(),live(),delegate()都可以用on()方法來(lái)代替;就像undind();die()和undeletage()一樣可以用off()來(lái)實(shí)現(xiàn)一樣;
on()的優(yōu)點(diǎn):1.提供了一種統(tǒng)一的綁定事件的機(jī)制。
on()的缺點(diǎn):1.隱藏了一些前面方法的細(xì)節(jié)。
總結(jié):用bind()的代價(jià)是非常大的,他會(huì)把所有的時(shí)間綁定到DOM上面;
live()zai JQ1.7上面已經(jīng)不被推薦使用了;
deletage()可以在動(dòng)態(tài)元素上添加綁定事件;
on()結(jié)合了前面3種方法,為綁定事件有個(gè)統(tǒng)一。但是ON()不支持綁定動(dòng)態(tài)添加的元素
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
jquery checkbox實(shí)現(xiàn)單選小例
checkbox是復(fù)選框如何將其變?yōu)閱芜x呢?下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下2013-11-11
基于Jquery的仿Windows Aero彈出窗(漂亮的關(guān)閉按鈕)
目前市面上已經(jīng)有很多成熟好用的jquery彈出窗插件,像模態(tài)窗口插件(Modal Dialog Plugins)以及數(shù)不勝數(shù)的燈箱插件(lightbox plugins)。2010-09-09
為JQuery EasyUI 表單組件增加焦點(diǎn)切換功能的方法
下面小編就為大家?guī)?lái)一篇為JQuery EasyUI 表單組件增加焦點(diǎn)切換功能的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04
jQuery設(shè)置和移除文本框默認(rèn)值的方法
這篇文章主要介紹了jQuery設(shè)置和移除文本框默認(rèn)值的方法,實(shí)例分析了jQuery操作文本框的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
$("").click與onclick的區(qū)別示例介紹
onclick是綁定事件,click本身是方法作用是觸發(fā)onclick事件,只要執(zhí)行了元素的click()方法,下面有個(gè)示例,大家可以看看2014-09-09
jquery帶翻頁(yè)動(dòng)畫(huà)的電子雜志代碼分享
jquery帶翻頁(yè)動(dòng)畫(huà)的電子雜志是一款jquery.booklet電子書(shū)小冊(cè)子帶翻頁(yè)動(dòng)畫(huà)的電子雜志書(shū)本,感興趣的小伙伴們可以參考一下2015-08-08
基于PHP和Mysql相結(jié)合使用jqGrid讀取數(shù)據(jù)并顯示
jqGrid可以動(dòng)態(tài)讀取和加載外部數(shù)據(jù),本文將結(jié)合PHP和Mysql給大家講解如何使用jqGrid讀取數(shù)據(jù)并顯示,以及可以通過(guò)輸入關(guān)鍵字查詢(xún)數(shù)據(jù)的ajax交互過(guò)程2015-12-12

