文章詳情頁
javascript - 關(guān)于事件綁定時(shí)指定this的問題,求助
瀏覽:196日期:2022-11-13 18:59:46
問題描述
function Tab($selector){ var _this = this;// 這種可以保證this正確,但是這樣寫很累贅 $selector.on('click', function(){_this.switchIndex(); }); // 不兼容ie某些瀏覽器 $selector.on('click', this.switchIndex.bind(this));// 這種方式綁定會導(dǎo)致switchIndex內(nèi)部的this為$selector,除了上面那些, // 還有其他比較自然的方式嗎? $selector.on('click', this.switchIndex);}Tab.prototype = { switchIndex: function(){// ... }};
問題解答
回答1:講真,第一種,很常見了,用多了也沒啥。
當(dāng)然,如果喜歡第二種,可以考慮用bind的polyfill(即在沒有bind的情況下利用call等方法來實(shí)現(xiàn)bind)。
ps: es6的話,箭頭函數(shù)就沒有這種煩惱,但正如第二種的情況,只支持高版本現(xiàn)代瀏覽器。
標(biāo)簽:
JavaScript
相關(guān)文章:
1. javascript - vue生成一維碼?求助?。。。?!急2. 新手 - Python 爬蟲 問題 求助3. javascript - 求助:vue2.0中使用element ui遇到的問題4. 請問怎么點(diǎn)擊背景,藍(lán)色變紅色,紅色變藍(lán)色呢?我代碼哪里出錯(cuò)了嗎?求助,謝謝5. javascript - 求助Angular 1 在$scope里向?qū)ο髮傩再x值不起效的原因(作用域問題),無盡感激!6. javascript - 求助在 requireJS 中,$(window).load() 里面的代碼 為什么不會執(zhí)行?7. javascript - 求助canvas繪制馬賽克的問題,老是取色不準(zhǔn)8. 緊急求助-我們的一位同事突然離職,需要一個(gè)后端的同事,項(xiàng)目才能進(jìn)行,停滯了,那位可以幫幫忙?9. php安裝lpsolve 擴(kuò)展求助10. 【求助大神】PHP初學(xué)者的學(xué)習(xí)規(guī)劃和視頻課程推薦(詳細(xì)一些)
排行榜

熱門標(biāo)簽
網(wǎng)公網(wǎng)安備