JQuery事件

JQuery事件

第一章:鼠標(biāo)事件

1. .click( )

鼠標(biāo)點(diǎn)擊事件

ele.click(function( ){

})

click事件其實(shí)是由mousedown于mouseup 2個(gè)動(dòng)作構(gòu)成夹厌,所以點(diǎn)擊的動(dòng)作只有在松手后才觸發(fā)

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

2. .dbclick( )

鼠標(biāo)雙擊事件,語(yǔ)法與.click( )相同

與click( ) 的區(qū)別,類似于由倆個(gè)click( )事件組成,中間間隔的時(shí)間由系統(tǒng)設(shè)定

3. .mousedown( )

監(jiān)聽用戶鼠標(biāo)按下的操作

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

4. .mouseup( )

監(jiān)聽用戶鼠標(biāo)抬起時(shí)的操作

5. .mousemove( )

監(jiān)聽用戶鼠標(biāo)移動(dòng)時(shí)的操作

6. .mouseover( )

監(jiān)聽用戶鼠標(biāo)移入時(shí)的操作(冒泡)

#綁定的元素觸發(fā)了mouseover事件后,它會(huì)一直向上找父級(jí)元素的mouseover事件,如果父級(jí)元素也有mouseover事件則會(huì)被觸發(fā)

7. .mouseout( )

監(jiān)聽用戶鼠標(biāo)移出時(shí)的操作(冒泡)

8. .mouseenter( )

監(jiān)聽用戶鼠標(biāo)移入時(shí)的操作(不冒泡)

#   .mouseenter事件只會(huì)在綁定它的元素上被調(diào)用贝乎,而不會(huì)在后代節(jié)點(diǎn)上被觸發(fā)

9. .mouseleave( )

監(jiān)聽用戶鼠標(biāo)移出時(shí)的操作(不冒泡)

10. .hover( )

$(selector).hover(handlerIn, handlerOut)

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

參數(shù):

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

第二章: 表單事件

1. .focusin( )

當(dāng)一個(gè)元素彪标,或者其內(nèi)部任何一個(gè)元素獲得焦點(diǎn)的時(shí)候,比如input元素,用戶在點(diǎn)擊失去焦的時(shí)候笛辟,如果開發(fā)者需要捕獲這個(gè)動(dòng)作

冒泡

方法一: $ele.focusin( handler )

? 參數(shù): handler 回調(diào)函數(shù)

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

? 參數(shù): eventData 數(shù)據(jù)參數(shù) handler 回調(diào)函數(shù)


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

2. .focusout( )

當(dāng)一個(gè)元素,或者其內(nèi)部任何一個(gè)元素失去焦點(diǎn)的時(shí)候逞盆,比如input元素券勺,用戶在點(diǎn)擊失去焦的時(shí)候绪钥,如果開發(fā)者需要捕獲這個(gè)動(dòng)作

用法與focusin( ) 相同,冒泡

3. .focus( )

focusin( )的不冒泡版

4. .blur( )

focusout( )的不冒泡版

5. .change( )

<input>元素,<textarea>和<select>元素的值都是可以發(fā)生改變的朱灿,開發(fā)者可以通過change事件去監(jiān)聽這些改變的動(dòng)作

  • <input> value( ) 元素發(fā)生改變時(shí) ,失去焦點(diǎn)后發(fā)生
  • <select> 當(dāng)用戶鼠標(biāo)做出選擇時(shí),該事件立即觸發(fā)
  • <textarea> 當(dāng)輸入框中有發(fā)生改變時(shí),失去焦點(diǎn)后發(fā)生
<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){                                //當(dāng)選項(xiàng)框發(fā)生改變時(shí),在div中輸出被選中的選項(xiàng)的值
  $('#result').html(e.target.value);
})

=>  Option 2

6. .select( )

當(dāng) textarea 或文本類型的 input 元素中的文本被選擇時(shí)昧识,會(huì)發(fā)生 select 事件。

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

參數(shù): eventDate 數(shù)據(jù)參數(shù) handler(eventObject) 回調(diào)函數(shù)

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

7. .submit( )

監(jiān)聽提交表單事件

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

具體能觸發(fā)submit事件的行為:

  • <input type="submit">
  • <input type="image">
  • <button type="submit">
  • 當(dāng)某些表單元素獲取焦點(diǎn)時(shí)盗扒,敲擊Enter(回車鍵)

阻止默認(rèn)行為:

傳統(tǒng)的方式是調(diào)用事件對(duì)象  e.preventDefault() 來處理跪楞, 
jQuery中可以直接在函數(shù)中最后結(jié)尾return false即可
例:
$("#target").submit(function(data) { 
   return false; //阻止默認(rèn)行為,提交表單
});

第三章: 鍵盤事件

1. .keydown( )

當(dāng)用戶在一個(gè)元素上第一次按下鍵盤上字母鍵的時(shí)候侣灶,就會(huì)觸發(fā)它

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

2. .keyup( )

當(dāng)用戶在一個(gè)元素上第一次松手鍵盤上的鍵的時(shí)候甸祭,就會(huì)觸發(fā)它。

使用方法與keydown是一致的只是觸發(fā)的條件是方法的

3. keypess( )

當(dāng)瀏覽器捕獲鍵盤輸入時(shí),觸發(fā)它

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

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

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

1. .on( )

給元素綁定事件

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

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

多個(gè)事件綁定同一函數(shù)

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

多個(gè)事件綁定不同函數(shù)

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

2. .off( )

卸載事件

綁定2個(gè)事件

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

刪除一個(gè)事件

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

刪除所有事件

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

快捷方式刪除所有事件统倒,這里不需要傳遞事件名了寨典,節(jié)點(diǎn)上綁定的所有事件講全部銷毀

$("elem").off()

3. event.type

獲取事件的類型

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

4. event.preventDefault( )

阻止默認(rèn)行為

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

5. event.currentTarget

在事件冒泡過程中的當(dāng)前DOM元素

冒泡前的當(dāng)前觸發(fā)事件的DOM對(duì)象, 等同于this.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市房匆,隨后出現(xiàn)的幾起案子耸成,更是在濱河造成了極大的恐慌,老刑警劉巖浴鸿,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件井氢,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡岳链,警方通過查閱死者的電腦和手機(jī)花竞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來掸哑,“玉大人左胞,你說我怎么就攤上這事【倩В” “怎么了烤宙?”我有些...
    開封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)俭嘁。 經(jīng)常有香客問我躺枕,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任拐云,我火速辦了婚禮罢猪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叉瘩。我一直安慰自己膳帕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開白布薇缅。 她就那樣靜靜地躺著危彩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪泳桦。 梳的紋絲不亂的頭發(fā)上汤徽,一...
    開封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音灸撰,去河邊找鬼谒府。 笑死,一個(gè)胖子當(dāng)著我的面吹牛浮毯,可吹牛的內(nèi)容都是我干的完疫。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼债蓝,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼壳鹤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起惦蚊,我...
    開封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎讯嫂,沒想到半個(gè)月后蹦锋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡欧芽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年莉掂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片千扔。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡憎妙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出曲楚,到底是詐尸還是另有隱情厘唾,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布龙誊,位于F島的核電站抚垃,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鹤树,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一铣焊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧罕伯,春花似錦曲伊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至湿酸,卻和暖如春婿屹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背推溃。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工昂利, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人铁坎。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓蜂奸,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親硬萍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子扩所,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • 總結(jié): 鼠標(biāo)事件 1.click與dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r閱讀 1,598評(píng)論 2 10
  • 鼠標(biāo)事件 .click() 單擊 .dbclick()雙擊 .click() 不帶任何參數(shù),一般用來指定觸發(fā)一...
    學(xué)開船不會(huì)開船閱讀 462評(píng)論 0 0
  • 第1章 鼠標(biāo)事件 1-1 jQuery鼠標(biāo)事件之click與dbclick事件 用交互操作中,最簡(jiǎn)單直接的操作就是...
    mo默22閱讀 1,263評(píng)論 0 6
  • (續(xù)jQuery基礎(chǔ)(1)) 第5章 DOM節(jié)點(diǎn)的復(fù)制與替換 (1)DOM拷貝clone() 克隆節(jié)點(diǎn)是DOM的常...
    凜0_0閱讀 1,324評(píng)論 0 8
  • 不僅有美麗的風(fēng)景朴乖,更有豐富的文化內(nèi)涵祖屏!
    Restrainyoursel閱讀 198評(píng)論 0 0