js原生態(tài)函數(shù)中使用jQuery中的 $(this)無(wú)效的解決方法
更新時(shí)間:2011年05月25日 23:02:11 作者:
今天遇到一個(gè)聽郁悶的問(wèn)題,正如title所說(shuō) js中原生態(tài)函數(shù)在jQuery 中使用 $(this) 被解析成undefined
我今天的例子是這樣的,
$("ul li").hover(function(){
setTimeout(function(){
$(this).addClass("test");
alert("延遲了0.3s 我出現(xiàn)了!") //測(cè)試
},300)
})
在運(yùn)行時(shí),這個(gè)黃色部分是不執(zhí)行的 ,然后我彈出了一下$(this)原來(lái)是undefined (其實(shí)已經(jīng)猜到了);
然后我就沒(méi)想(習(xí)慣),直接到百度找了,然后沒(méi)找到答案,然后我就自己想,是不是換種方法,但是我覺得又不大合理,隨后我就想到了 在里面讀不到,外面可以讀得到, 然后我就將$(this) 在setTimeout()外面賦給了一個(gè)變量。這樣就迎刃而解了。哈哈,挺無(wú)語(yǔ)的問(wèn)題吧,其實(shí)我在這里不是想說(shuō)如何解決的,我是說(shuō)這種思路,解決問(wèn)題前先不要一味的去百度 谷歌
先要自己想想辦法,真想不到,去找答案。
$("ul li").hover(function(){
var oLi = $(this);
setTimeout(function(){
oLi.addClass("test");
alert("延遲了0.3s 我出現(xiàn)了!") //測(cè)試
},300)
})
復(fù)制代碼 代碼如下:
$("ul li").hover(function(){
setTimeout(function(){
$(this).addClass("test");
alert("延遲了0.3s 我出現(xiàn)了!") //測(cè)試
},300)
})
在運(yùn)行時(shí),這個(gè)黃色部分是不執(zhí)行的 ,然后我彈出了一下$(this)原來(lái)是undefined (其實(shí)已經(jīng)猜到了);
然后我就沒(méi)想(習(xí)慣),直接到百度找了,然后沒(méi)找到答案,然后我就自己想,是不是換種方法,但是我覺得又不大合理,隨后我就想到了 在里面讀不到,外面可以讀得到, 然后我就將$(this) 在setTimeout()外面賦給了一個(gè)變量。這樣就迎刃而解了。哈哈,挺無(wú)語(yǔ)的問(wèn)題吧,其實(shí)我在這里不是想說(shuō)如何解決的,我是說(shuō)這種思路,解決問(wèn)題前先不要一味的去百度 谷歌
先要自己想想辦法,真想不到,去找答案。
復(fù)制代碼 代碼如下:
$("ul li").hover(function(){
var oLi = $(this);
setTimeout(function(){
oLi.addClass("test");
alert("延遲了0.3s 我出現(xiàn)了!") //測(cè)試
},300)
})
您可能感興趣的文章:
- js中的this關(guān)鍵字詳解
- javascript中onclick(this)用法介紹
- javascript this用法小結(jié)
- JS中的this變量的使用介紹
- javascript中this的四種用法
- js報(bào)錯(cuò) Object doesn''t support this property or method的原因分析
- 改變javascript函數(shù)內(nèi)部this指針指向的三種方法
- 關(guān)于js里的this關(guān)鍵字的理解
- tomcat6下jsp出現(xiàn)getOutputStream() has already been called for this response異常的原因和解決方法
- Javascript this關(guān)鍵字使用分析
- JS中改變this指向的方法(call和apply、bind)
- JavaScript中this詳解
- JS函數(shù)this的用法實(shí)例分析
- 解決vue.js this.$router.push無(wú)效的問(wèn)題
- vue項(xiàng)目中在外部js文件中直接調(diào)用vue實(shí)例的方法比如說(shuō)this
- Javascript對(duì)象中關(guān)于setTimeout和setInterval的this介紹
- Javascript this指針
- JS中this的4種綁定規(guī)則詳解
相關(guān)文章
jQuery-1.9.1源碼分析系列(十)事件系統(tǒng)之事件包裝
這篇文章主要介紹了jQuery-1.9.1源碼分析系列(十)事件系統(tǒng)之事件包裝的相關(guān)資料,需要的朋友可以參考下2015-11-11輕松學(xué)習(xí)jQuery插件EasyUI EasyUI創(chuàng)建菜單與按鈕
這篇文章主要幫助大家輕松學(xué)習(xí)jQuery插件EasyUI,重點(diǎn)是EasyUI創(chuàng)建菜單與按鈕,按鈕分為鏈接按鈕、菜單按鈕、分割按鈕,對(duì)這方面感興趣的小伙伴們可以參考一下2015-11-11jQuery中attr()和prop()在修改checked屬性時(shí)的區(qū)別
使用語(yǔ)句$.attr('checked',true),將復(fù)選框的屬性改為被選中,在chrome瀏覽器中第一次點(diǎn)擊有效后面就不行了,IE8倒是沒(méi)有問(wèn)題2014-07-07使用jQuery設(shè)置disabled屬性與移除disabled屬性
Readonly只針對(duì)input和textarea有效,而disabled對(duì)于所有的表單元素都有效,下面為大家介紹下使用jQuery設(shè)置disabled屬性2014-08-08jquery實(shí)現(xiàn)去除重復(fù)字符串的方法小結(jié)
這篇文章主要介紹了jquery實(shí)現(xiàn)去除重復(fù)字符串的方法,結(jié)合實(shí)例形式總結(jié)了三種常用的字符串去重操作技巧,需要的朋友可以參考下2016-04-04form表單只提交數(shù)據(jù)而不進(jìn)行頁(yè)面跳轉(zhuǎn)的解決方案
將數(shù)據(jù)提交到saveReport(form的action指向)頁(yè)面,但是頁(yè)面又不進(jìn)行跳轉(zhuǎn),即保持當(dāng)前頁(yè)面不變呢?利用jquery的ajaxSubmit函數(shù)以及form的onsubmit函數(shù)完成2013-09-09jquery easyui datagrid實(shí)現(xiàn)增加,修改,刪除方法總結(jié)
這篇文章主要介紹了jquery easyui datagrid實(shí)現(xiàn)增加,修改,刪除方法,結(jié)合實(shí)例形式分析了jquery easyui datagrid結(jié)合asp.net實(shí)現(xiàn)數(shù)據(jù)的增刪改等操作的步驟與相關(guān)技巧,需要的朋友可以參考下2016-05-05