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>
二.鼠標事件(光棒效果)
<!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>
三.鍵盤事件
<!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()幾個的區(qū)別
bind()方法是綁定事件最直接的方法,這個方法是綁定到document上存在最久的方法,也很好的解決了兼容性方面的問題;
bind()方法的優(yōu)點:
1.很好的解決了各個瀏覽器的兼容性問題;
2.非常方便簡單的能進行事件的綁定;
3.對于利用ID選出來的元素是非常好的,不僅僅是很快的可以hook上去(因為一個頁面只有一個id),而且當事件發(fā)生時,handler可以立即被執(zhí)行實現方式;
bind()方法的缺點:
1.bind()不會綁定在通過bind()添加的元素上面;
2.他會綁定到所有選出來的元素上面;
3.只有當頁面加載完成后才會執(zhí)行bind()事件,可能會產生效率問題;
live()這個綁定方法是通過冒泡機制來進行綁定的,由于在JQ1.7以上已經不推薦使用,在此不進行說明了;
deletage()這個方法在此之前從來沒有用過,看過萬丈后才知道還有這么一個綁定事件的方法;
deletage()這個方法的有點像live()方法,但不同于live()方法的地方在于他不會將event綁定到所有的ducoment上面,而是由你決定將他綁定在什么上面;
deletage()的優(yōu)點:
1.支持綁定到動態(tài)添加的元素上面
2.你可以選擇把那個那個事件放到你指定的元素上面;
deletage()的缺點:
1.盡管減少了decoment已經很少了,但是還是需要來查找那個元素上面綁定了那個事件。需要花一定的時間。
on():其實bind(),live(),delegate()都可以用on()方法來代替;就像undind();die()和undeletage()一樣可以用off()來實現一樣;
on()的優(yōu)點:1.提供了一種統(tǒng)一的綁定事件的機制。
on()的缺點:1.隱藏了一些前面方法的細節(jié)。
總結:用bind()的代價是非常大的,他會把所有的時間綁定到DOM上面;
live()zai JQ1.7上面已經不被推薦使用了;
deletage()可以在動態(tài)元素上添加綁定事件;
on()結合了前面3種方法,為綁定事件有個統(tǒng)一。但是ON()不支持綁定動態(tài)添加的元素
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關文章
GridView中獲取被點擊行中的DropDownList和TextBox中的值
本文為大家介紹下如何通過點擊GridView中的a標簽獲取被點擊行中的下拉框和文本框中的值,具體實現嗲嗎如下,感興趣的朋友可以參考下哈,希望對大家有所幫助2013-07-07