js綁定事件this指向發(fā)生改變的問題解決方法
更新時(shí)間:2013年04月23日 16:18:39 作者:
js綁定事件this指向發(fā)生改變的問題將在本文進(jìn)行詳細(xì)探討下,感興趣的朋友可以參考下哈,希望對(duì)你有所幫助
可對(duì)函數(shù)進(jìn)行如下擴(kuò)展
Function.prototype.bind = function(obj) {
var _this = this;
return function() {
_this.apply(obj,arguments);
}
}
用法如下
var a = function(){
alert(this.title)
}.bind(document);
a();
常用在這兒
function myalert() {
this.title = 'hello world';
this.init = function() {
$("#xxx").click(this.close.bind(this));
}
this.close = function() {
alert(this.title)
}
}
<P style="PADDING-BOTTOM: 0px; LINE-HEIGHT: 22px; MARGIN-TOP: 0px; FONT-FAMILY: 微軟雅黑, 宋體, 'Trebuchet MS', Tahoma, Arial, sans-serif; MARGIN-BOTTOM: 10px; COLOR: rgb(34,34,34); FONT-SIZE: 14px; PADDING-TOP: 0px" class=p1>var a = new myalert();</P><P style="PADDING-BOTTOM: 0px; LINE-HEIGHT: 22px; MARGIN-TOP: 0px; FONT-FAMILY: 微軟雅黑, 宋體, 'Trebuchet MS', Tahoma, Arial, sans-serif; MARGIN-BOTTOM: 10px; COLOR: rgb(34,34,34); FONT-SIZE: 14px; PADDING-TOP: 0px" class=p1>a.init();</P>
復(fù)制代碼 代碼如下:
Function.prototype.bind = function(obj) {
var _this = this;
return function() {
_this.apply(obj,arguments);
}
}
用法如下
復(fù)制代碼 代碼如下:
var a = function(){
alert(this.title)
}.bind(document);
a();
常用在這兒
復(fù)制代碼 代碼如下:
function myalert() {
this.title = 'hello world';
this.init = function() {
$("#xxx").click(this.close.bind(this));
}
this.close = function() {
alert(this.title)
}
}
復(fù)制代碼 代碼如下:
<P style="PADDING-BOTTOM: 0px; LINE-HEIGHT: 22px; MARGIN-TOP: 0px; FONT-FAMILY: 微軟雅黑, 宋體, 'Trebuchet MS', Tahoma, Arial, sans-serif; MARGIN-BOTTOM: 10px; COLOR: rgb(34,34,34); FONT-SIZE: 14px; PADDING-TOP: 0px" class=p1>var a = new myalert();</P><P style="PADDING-BOTTOM: 0px; LINE-HEIGHT: 22px; MARGIN-TOP: 0px; FONT-FAMILY: 微軟雅黑, 宋體, 'Trebuchet MS', Tahoma, Arial, sans-serif; MARGIN-BOTTOM: 10px; COLOR: rgb(34,34,34); FONT-SIZE: 14px; PADDING-TOP: 0px" class=p1>a.init();</P>
相關(guān)文章
微信JS-SDK坐標(biāo)位置如何轉(zhuǎn)換為百度地圖坐標(biāo)
這篇文章主要介紹了微信JS-SDK坐標(biāo)位置如何轉(zhuǎn)換為百度地圖坐標(biāo) 的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-07-07
JavaScript大神級(jí)的高效編碼經(jīng)驗(yàn)技巧
JavaScript,以其無與倫比的靈活性和強(qiáng)大的表達(dá)能力,成為了前端開發(fā)者的得力助手,但精通它并非易事,有不少的JavaScript高效編程代碼,裝逼指南,高逼格代碼,讓你的代碼看起來就有大神風(fēng)范,快來鑒賞一下吧2025-02-02
bootstrap的3級(jí)菜單樣式,支持母版頁(yè)保留打開狀態(tài)實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猙ootstrap的3級(jí)菜單樣式,支持母版頁(yè)保留打開狀態(tài)實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11
前端JavaScript數(shù)組方法總結(jié)(非常詳細(xì)!)
這篇文章主要介紹了JavaScript中數(shù)組對(duì)象的常用方法,包括數(shù)組的基本操作、查找、過濾、排序、遍歷等方法,并提供了每個(gè)方法的語(yǔ)法和示例,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04
微信小程序?qū)崿F(xiàn)一張或多張圖片上傳(云開發(fā))
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)一張或多張圖片上傳,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09
JavaScript實(shí)現(xiàn)滾動(dòng)加載更多
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)滾動(dòng)加載更多,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12
JS中數(shù)據(jù)結(jié)構(gòu)與算法---排序算法(Sort Algorithm)實(shí)例詳解
排序也稱排序算法 (Sort Algorithm),排序是將 一組數(shù)據(jù) , 依指定的順序 進(jìn)行 排列的過程 。這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)與算法---排序算法(Sort Algorithm),需要的朋友可以參考下2019-06-06
基于 webpack2 實(shí)現(xiàn)的多入口項(xiàng)目腳手架詳解
這篇文章主要給大家介紹了基于 webpack2 實(shí)現(xiàn)的多入口項(xiàng)目腳手架的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-06-06

