JQuery事件

JQuery事件

第一章:鼠標事件

1. .click( )

鼠標點擊事件

ele.click(function( ){

})

click事件其實是由mousedown于mouseup 2個動作構成,所以點擊的動作只有在松手后才觸發

例1:
<div id="test">點擊觸發<div>
$("#test").click(function() {
    //this指向 div元素
});

2. .dbclick( )

鼠標雙擊事件,語法與.click( )相同

與click( ) 的區別,類似于由倆個click( )事件組成,中間間隔的時間由系統設定

3. .mousedown( )

監聽用戶鼠標按下的操作

例1:
<div id="test">點擊觸發<div>
$("#test").mousedown(function() {
    //this指向 div元素
});

4. .mouseup( )

監聽用戶鼠標抬起時的操作

5. .mousemove( )

監聽用戶鼠標移動時的操作

6. .mouseover( )

監聽用戶鼠標移入時的操作(冒泡)

#綁定的元素觸發了mouseover事件后,它會一直向上找父級元素的mouseover事件,如果父級元素也有mouseover事件則會被觸發

7. .mouseout( )

監聽用戶鼠標移出時的操作(冒泡)

8. .mouseenter( )

監聽用戶鼠標移入時的操作(不冒泡)

#   .mouseenter事件只會在綁定它的元素上被調用,而不會在后代節點上被觸發

9. .mouseleave( )

監聽用戶鼠標移出時的操作(不冒泡)

10. .hover( )

$(selector).hover(handlerIn, handlerOut)

在元素上移入移出,打到mouseenter 和 mouseleave 同時使用的效果

參數:

  • handlerIn(eventObject):當鼠標指針進入元素時觸發執行的事件函數
  • handlerOut(eventObject):當鼠標指針離開元素時觸發執行的事件函數
例1:                 
$("p").hover(                                                   // hover()方法是同時綁定 mouseenter和 mouseleave事件
        function() {
            $(this).css("background", 'red');                   // 我們可以用它來簡單地應用在 鼠標在元素上行為
        },
        function() {
            $(this).css("background", '#bbffaa');
        }
    );

第二章: 表單事件

1. .focusin( )

當一個元素,或者其內部任何一個元素獲得焦點的時候,比如input元素,用戶在點擊失去焦的時候,如果開發者需要捕獲這個動作

冒泡

方法一: $ele.focusin( handler )

? 參數: handler 回調函數

方法二: $ele.focusin( [eventData ], handler )

? 參數: eventData 數據參數 handler 回調函數


<div id="test">點擊觸發<div>
$("#test").focusin(function() {
    //this指向 div元素
});

2. .focusout( )

當一個元素,或者其內部任何一個元素失去焦點的時候,比如input元素,用戶在點擊失去焦的時候,如果開發者需要捕獲這個動作

用法與focusin( ) 相同,冒泡

3. .focus( )

focusin( )的不冒泡版

4. .blur( )

focusout( )的不冒泡版

5. .change( )

<input>元素,<textarea>和<select>元素的值都是可以發生改變的,開發者可以通過change事件去監聽這些改變的動作

  • <input> value( ) 元素發生改變時 ,失去焦點后發生
  • <select> 當用戶鼠標做出選擇時,該事件立即觸發
  • <textarea> 當輸入框中有發生改變時,失去焦點后發生
<select id = "target">  
    <option value="option1" selected="selected">Option 1</option>
    <option value="option2">Option 2</option>
</select>
<div id = "result"></div>

$('#target').change(function(e){                                //當選項框發生改變時,在div中輸出被選中的選項的值
  $('#result').html(e.target.value);
})

=>  Option 2

6. .select( )

當 textarea 或文本類型的 input 元素中的文本被選擇時,會發生 select 事件。

$ele.select(eventDate,handler(eventObject));

參數: eventDate 數據參數 handler(eventObject) 回調函數

    //監聽input元素中value的選中
    //觸發元素的select事件
    $("input").select(function(e){
        alert(e.target.value)
    })

7. .submit( )

監聽提交表單事件

$ele.submit( [eventData ], handler(eventObject) )

具體能觸發submit事件的行為:

  • <input type="submit">
  • <input type="image">
  • <button type="submit">
  • 當某些表單元素獲取焦點時,敲擊Enter(回車鍵)

阻止默認行為:

傳統的方式是調用事件對象  e.preventDefault() 來處理, 
jQuery中可以直接在函數中最后結尾return false即可
例:
$("#target").submit(function(data) { 
   return false; //阻止默認行為,提交表單
});

第三章: 鍵盤事件

1. .keydown( )

當用戶在一個元素上第一次按下鍵盤上字母鍵的時候,就會觸發它

//直接綁定事件
$elem.keydown( handler(eventObject) )
//傳遞參數
$elem.keydown( [eventData ], handler(eventObject) )
//手動觸發已綁定的事件
$elem.keydown()

2. .keyup( )

當用戶在一個元素上第一次松手鍵盤上的鍵的時候,就會觸發它。

使用方法與keydown是一致的只是觸發的條件是方法的

3. keypess( )

當瀏覽器捕獲鍵盤輸入時,觸發它

//監聽鍵盤按鍵
    //獲取輸入的值
    $('.target1').keypress(function(e) {
        $("em").text(e.target.value)
    });

注:KeyPress主要用來接收字母、數字等ANSI字符,而 KeyDown 和 KeyUP 事件過程可以處理任何不被 KeyPress 識別的擊鍵。諸如:功能鍵(F1-F12)、編輯鍵、定位鍵以及任何這些鍵和鍵盤換檔鍵的組合等。

第四章: 事件的綁定與解綁

1. .on( )

給元素綁定事件

基本用法:.on( events ,[ selector ] ,[ data ] )

$("#elem").click(function(){})  //快捷方式
$("#elem").on('click',function(){}) //on方式

多個事件綁定同一函數

 $("#elem").on("mouseover mouseout",function(){ });

多個事件綁定不同函數

$("#elem").on({
    mouseover:function(){},  
    mouseout:function(){}
});

2. .off( )

卸載事件

綁定2個事件

$("elem").on("mousedown mouseup",fn)

刪除一個事件

$("elem").off("mousedown")

刪除所有事件

$("elem").off("mousedown mouseup")

快捷方式刪除所有事件,這里不需要傳遞事件名了,節點上綁定的所有事件講全部銷毀

$("elem").off()

3. event.type

獲取事件的類型

$("a").click(function(event) {
  alert(event.type); // "click"事件
});

4. event.preventDefault( )

阻止默認行為

$("#content").click(function(event) {
        $("#msg").html($("#msg").html() + "<p>外層div元素被單擊</p>");
        event.stopPropagation(); //阻止事件冒泡  
    });

5. event.currentTarget

在事件冒泡過程中的當前DOM元素

冒泡前的當前觸發事件的DOM對象, 等同于this.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念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

推薦閱讀更多精彩內容

  • 總結: 鼠標事件 1.click與dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r閱讀 1,626評論 2 10
  • 鼠標事件 .click() 單擊 .dbclick()雙擊 .click() 不帶任何參數,一般用來指定觸發一...
    學開船不會開船閱讀 475評論 0 0
  • 第1章 鼠標事件 1-1 jQuery鼠標事件之click與dbclick事件 用交互操作中,最簡單直接的操作就是...
    mo默22閱讀 1,294評論 0 6
  • (續jQuery基礎(1)) 第5章 DOM節點的復制與替換 (1)DOM拷貝clone() 克隆節點是DOM的常...
    凜0_0閱讀 1,356評論 0 8
  • 不僅有美麗的風景,更有豐富的文化內涵!
    Restrainyoursel閱讀 211評論 0 0