jquery事件

//綁定事件
$(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
*使用前進或后退按鈕
*關閉瀏覽器
*重新加載頁面
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,908評論 6 541
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,324評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,018評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,675評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,417評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,783評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,779評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,960評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,522評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,267評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,471評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,009評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,698評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,099評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,386評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,204評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,436評論 2 378

推薦閱讀更多精彩內容

  • 方法描述 bind() 向匹配元素附加一個或更多事件處理器 blur() 觸發、或將函數綁定到指定元素的 blur...
    小沙鷹168閱讀 209評論 0 0
  • jQuery事件 bind()向匹配元素附加一個或更多事件處理器 blur()觸發、或將函數綁定到指定元素的 bl...
    Clover園閱讀 195評論 0 0
  • 總結: 鼠標事件 1.click與dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r閱讀 1,626評論 2 10
  • 本文章是老馬jQuery視頻的講義和上課的代碼。具體觀看視頻地址:https://chuanke.baidu.co...
    IT老馬閱讀 2,588評論 3 14
  • “啊” 夏湘江打了個哈欠,好累啊,“湘江!吃早餐啦”湘江媽媽喊道 “恩,就來就來”湘江嘟囔的說。 沒錯,這就是...
    薇薇君閱讀 367評論 2 1