js中的this關(guān)鍵字詳解.jQuery中事件

this是Javascript語言的一個關(guān)鍵字它代表函數(shù)運行時,自動生成的一個內(nèi)部對象,只能在函數(shù)內(nèi)部使用,下面分四種情況

情況一:單純的函數(shù)調(diào)用

這是函數(shù)的最通常用法,屬于全局性調(diào)用,因此this就代表全局對象Global。

function test(){

this.x = 1;

alert(this.x);

}

test(); // 1

在此:輸出結(jié)果為1

情況二:作為對象方法的調(diào)用

函數(shù)還可以作為某個對象的方法調(diào)用,這時this就指這個上級對象。

function test(){

alert(this.x);

}

var o = {};

o.x = 1;

o.m = test;

o.m(); // 1

情況三: 作為構(gòu)造函數(shù)調(diào)用

所謂的構(gòu)造函數(shù),就是通過這個函數(shù)生成一個新對象(object)。這時,this就指這個新對象。

function test(){

this.x = 1;

}

var o = new test();

alert(o.x); // 1

情況四 apply調(diào)用

apply()是函數(shù)對象的一個方法,它的作用是改變函數(shù)的調(diào)用對象,它的第一個參數(shù)就表示改變后的調(diào)用這個函數(shù)的對象。因此,this指的就是這第一個參數(shù)。

var x = 0;

function test(){

alert(this.x);

}

var o={};

o.x = 1;

o.m = test;

o.m.apply(); //0

apply()的參數(shù)為空時,默認(rèn)調(diào)用全局對象。因此,這時的運行結(jié)果為0,證明this指的是全局對象。

事件:

bind()向匹配元素附加一個或更多事件處理器

blur()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 blur 事件

change()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 change 事件

click()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 click 事件

dblclick()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 double click 事件

delegate()向匹配元素的當(dāng)前或未來的子元素附加一個或多個事件處理器

die()移除所有通過 live() 函數(shù)添加的事件處理程序。

error()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 error 事件

event.isDefaultPrevented()返回 event 對象上是否調(diào)用了 event.preventDefault()。

event.pageX相對于文檔左邊緣的鼠標(biāo)位置。

event.pageY相對于文檔上邊緣的鼠標(biāo)位置。

event.preventDefault()阻止事件的默認(rèn)動作。

event.result包含由被指定事件觸發(fā)的事件處理器返回的最后一個值。

event.target觸發(fā)該事件的 DOM 元素。

event.timeStamp該屬性返回從 1970 年 1 月 1 日到事件發(fā)生時的毫秒數(shù)。

event.type描述事件的類型。

event.which指示按了哪個鍵或按鈕。

focus()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 focus 事件

keydown()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 key down 事件

keypress()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 key press 事件

keyup()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 key up 事件

live()為當(dāng)前或未來的匹配元素添加一個或多個事件處理器

load()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 load 事件

mousedown()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 mouse down 事件

mouseenter()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 mouse enter 事件

mouseleave()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 mouse leave 事件

mousemove()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 mouse move 事件

mouseout()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 mouse out 事件

mouseover()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 mouse over 事件

mouseup()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 mouse up 事件

one()向匹配元素添加事件處理器。每個元素只能觸發(fā)一次該處理器。

ready()文檔就緒事件(當(dāng) HTML 文檔就緒可用時)

resize()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 resize 事件

scroll()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 scroll 事件

select()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 select 事件

submit()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 submit 事件

toggle()綁定兩個或多個事件處理器函數(shù),當(dāng)發(fā)生輪流的 click 事件時執(zhí)行。

trigger()所有匹配元素的指定事件

triggerHandler()第一個被匹配元素的指定事件

unbind()從匹配元素移除一個被添加的事件處理器

undelegate()從匹配元素移除一個被添加的事件處理器,現(xiàn)在或?qū)?/p>

unload()觸發(fā)、或?qū)⒑瘮?shù)綁定到指定元素的 unload 事件

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • //////////2017-1-16 ~ 2017-1-19/////////// int study_data...
    javaMonkey閱讀 868評論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,578評論 19 139
  • this是Javascript語言的一個關(guān)鍵字它代表函數(shù)運行時,自動生成的一個內(nèi)部對象,只能在函數(shù)內(nèi)部使用,下面分...
    fortunatelys閱讀 181評論 0 0
  • 社長雞湯來了 ▼ 之前看過句話是, 『在一個地方當(dāng)爺?shù)娜耍谀硞€時刻某個地方也同樣當(dāng)著孫子』。 這句戲謔又蘊含著某...
    劇透社閱讀 427評論 0 0
  • 我從一本雜志中,看到有人這樣說,大文學(xué)家蘇軾教給我們讀書的方法是,把每本書都讀上好幾遍,而且每次讀時只帶一個目標(biāo),...
    我心我愿秀閱讀 1,123評論 1 3

友情鏈接更多精彩內(nèi)容