//綁定事件
$(document).ready(function(){
$("button").click(function(){
$("p").hide();
});
});
//觸發事件
$("button#demo").click()
1.bind()向匹配元素附加一個或更多事件處理器
function handler(event) {
alert(event.data.foo);
}
$("p").bind("click", {foo: "bar"}, handler)
$(*selector*).bind(*event*,*data*,*function*)
*event*
必需。規定添加到元素的一個或多個事件。
由空格分隔多個事件。必須是有效的事件。
*data*
可選。規定傳遞到函數的額外數據。
*function*
必需。規定當事件發生時運行的函數。
$(selector).bind({event:function, event:function, ...})
2.當輸入域失去焦點 (blur) 時改變其顏色:
$("input").blur(function(){
$("input").css("background-color","#D6D6FF");
});
//觸發
$(*selector*).blur()
3.當輸入域發生變化時改變其顏色:
$(".field").change(function(){
$(this).css("background-color","#FFFFCC");
});
//觸發
$(*selector*).change()
3.dblclick() 方法
//當雙擊按鈕時,隱藏或顯示元素:
$("button").dblclick(function(){
$("p").slideToggle();
});
//觸發
$(*selector*).dblclick()
4.delegate() 方法
向匹配元素的當前或未來的子元素附加一個或多個事件處理器
//當點擊鼠標時,隱藏或顯示 p 元素:
$("div").delegate("button","click",function(){
$("p").slideToggle();
});
//語法
$(*selector*).delegate(*childSelector*,*event*,*data*,*function*)
6.[error()]觸發、或將函數綁定到指定元素的 error 事件
$("img").error(function(){
$("img").replaceWith("
Missing image!
");
});
//觸發error
$(*selector*).error()
//綁定
$(*selector*).error(*function*)
event對象方法
7.preventDefault() 方法,isDefaultPrevented()
preventDefault() 方法阻止元素發生默認的行為(例如,當點擊提交按鈕時阻止對表單的提交)。
//防止鏈接打開 URL:
$("a").click(function(event){
event.preventDefault();
});
$("a").click(function(event){
event.preventDefault();
alert("Default prevented: " +event.isDefaultPrevented()
);});
8.顯示指針的位置event.x
顯示鼠標指針的位置:
$(document).mousemove(function(e){
$("span").text("X: " + e.pageX + ", Y: " + e.pageY);
});
9.event.result
顯示最后一次點擊事件返回的結果
$("button").click(function(e) {
$("p").html(e.result);
});
10. event.target 屬性
//顯示哪個 DOM 元素觸發了事件
$("p, button, h1, h2").click(function(event){
$("div").html("Triggered by a " + event.target.nodeName + " element.");
});
11.event.type
顯示觸發了哪種類型的事件:
$("p").bind('click dblclick mouseover mouseout',function(event){
$("div").html("事件:" + event.type);
});
12.event.which
顯示按了哪個鍵:
$(document).ready(function(){
$("input").keydown(function(event){
$("div").html("Key: " + event.which);
});
});
13 focus()方法
當輸入框獲得焦點時,改變它的背景色:
$("input").focus(function(){
$("input").css("background-color","#FFFFCC");
});
//觸發
$(*selector*).focus()
14.常見事件
[keydown()]
觸發、或將函數綁定到指定元素的 key down 事件
[keypress()]
觸發、或將函數綁定到指定元素的 key press 事件
[keyup()]
觸發、或將函數綁定到指定元素的 key up 事件
[mousedown()]
觸發、或將函數綁定到指定元素的 mouse down 事件
[mouseenter()]
觸發、或將函數綁定到指定元素的 mouse enter 事件
[mouseleave()]
觸發、或將函數綁定到指定元素的 mouse leave 事件
[mousemove()]
觸發、或將函數綁定到指定元素的 mouse move 事件
[mouseout()]
觸發、或將函數綁定到指定元素的 mouse out 事件
[mouseover()]
觸發、或將函數綁定到指定元素的 mouse over 事件
[mouseup()]
觸發、或將函數綁定到指定元素的 mouse up 事件
16.load() 方法
$("img").load(function(){
$("div").text("Image loaded");
});
17.向匹配元素添加事件處理器。每個元素只能觸發一次該處理器。
語法
$(*selector*).one(*event*,*data*,*function*)
*event*
必需。規定添加到元素的一個或多個事件。
由空格分隔多個事件。必須是有效的事件。
*data*
可選。規定傳遞到函數的額外數據。
*function*
必需。規定當事件發生時運行的函數。
18.[ready()]文檔就緒事件(當 HTML 文檔就緒可用時)
$(document).ready(function(){
$(".btn1").click(function(){
$("p").slideToggle();
});
});
//三種語法
$(document).ready(*function*)
$().ready(*function*)
$(*function*)
19.
當調整瀏覽器窗口的大小時,發生 resize 事件。
resize() 方法觸發 resize 事件,或規定當發生 resize 事件時運行的函數。
$(window).resize(function() {
$('span').text(x+=1);
});
//觸發
$(*selector*).resize()
20.scroll()
當用戶滾動指定的元素時,會發生 scroll 事件。
scroll 事件適用于所有可滾動的元素和 window 對象(瀏覽器窗口)。
scroll() 方法觸發 scroll 事件,或規定當發生 scroll 事件時運行的函數。
$("div").scroll(function() {
$("span").text(x+=1);
});
對元素滾動的次數進行計數:
21.觸發、或將函數綁定到指定元素的 select 事件
當 textarea 或文本類型的 input 元素中的文本被選擇時,會發生 select 事件。
select() 方法觸發 select 事件,或規定當發生 select 事件時運行的函數。
$("input").select(function(){
$("input").after(" Text marked!");
});
22.submit() 方法
當提交表單時,顯示警告框:
$("form").submit(function(e){
alert("Submitted");
});
//觸發
$(*selector*).submit()
定義和用法
當提交表單時,會發生 submit 事件。
該事件只適用于表單元素。
submit() 方法觸發 submit 事件,或規定當發生 submit 事件時運行的函數。
23.toggle() 方法
toggle() 方法用于綁定兩個或多個事件處理器函數,以響應被選元素的輪流的 click 事件。
該方法也可用于切換被選元素的 [hide()] 與 [show()]
$("p").toggle(
function(){
$("body").css("background-color","green");},
function(){
$("body").css("background-color","red");},
function(){
$("body").css("background-color","yellow");}
);
語法
$(selector).toggle(function1(),function2(),functionN(),...)
(2)隱藏和系那是
$(selector).toggle(switch)
true - 顯示元素
false - 隱藏元素
(2)$(selector).toggle(speed,callback)
speed
毫秒(比如 1500)
"slow"
"normal"
"fast"
21.trigger() 方法
觸發 input 元素的 select 事件
$("button").click(function(){
$("input").trigger("select");
});
$(*selector*).trigger(*event*,[*param1*,*param2*,...])
*event*
必需。規定指定元素要觸發的事件。
可以使自定義事件(使用 bind() 函數來附加),或者任何標準事件。
[*param1*,*param2*,...]
可選。傳遞到事件處理程序的額外參數。
額外的參數對自定義事件特別有用。
22.triggerHandler() 方法
triggerHandler() 方法觸發被選元素的指定事件類型。但不會執行瀏覽器默認動作,也不會產生事件冒泡。
triggerHandler() 方法與 trigger() 方法類似。不同的是它不會觸發事件(比如表單提交)的默認行為,而且只影響第一個匹配元素。
與 trigger() 方法相比的不同之處
它不會引起事件(比如表單提交)的默認行為
.trigger() 會操作 jQuery 對象匹配的所有元素,而 .triggerHandler() 只影響第一個匹配元素。
由 .triggerHandler() 創建的事件不會在 DOM 樹中冒泡;如果目標元素不直接處理它們,則不會發生任何事情。
該方法的返回的是事件處理函數的返回值,而不是具有可鏈性的 jQuery 對象。此外,如果沒有處理程序被觸發,則這個方法返回 undefined。
23.unbind() 方法
移除所有 p 元素的事件處理器:
$("button").click(function(){
$("p").unbind();
});
$(selector).unbind(event,function)
unbind() 方法移除被選元素的事件處理程序。
該方法能夠移除所有的或被選的事件處理程序,或者當事件發生時終止指定函數的運行。
ubind() 適用于任何通過 jQuery 附加的事件處理程序。
24.undelegate() 方法
undelegate() 方法刪除由 delegate() 方法添加的一個或多個事件處理程序。
從所有元素刪除由 delegate() 方法添加的所有事件處理器:
$("body").undelegate();
24. unload 屬性,比如退出時用戶的確定
當用戶點擊鏈接離開本頁時,彈出一個消息框:
$(window).unload(function(){
alert("Goodbye!");
});
當用戶離開頁面時,會發生 unload 事件。
具體來說,當發生以下情況時,會發出 unload 事件:
*點擊某個離開頁面的鏈接
*在地址欄中鍵入了新的 URL
*使用前進或后退按鈕
*關閉瀏覽器
*重新加載頁面