jQuery setTimeout傳遞字符串參數(shù)報(bào)錯(cuò)的解決方法
整個(gè)頁(yè)面的代碼是這樣的.
<span style="font-size:18px;"><html>
<head>
<title></title>
</head>
<body>
<a href="#" id='heihei' onclick="showNext('I am veinei ')">show next</a>
<a href="#" id="log" style="display:none" >yes,I am the next </a>
<script type="text/javascript" src="jquery-1.10.2.min.js"></script>
<script type="text/javascript">
function showNext(text){
setTimeout("$('#log').show().text(text)",1000);
}
</script>
</body>
</html>
</span>
.show()確實(shí)調(diào)用成功了.但是.text()調(diào)用失敗了.console顯示 text未定義.
對(duì)于這個(gè)問(wèn)題,我確實(shí)沒(méi)有找到更好的答案...我想是不是jQuery對(duì)這個(gè)傳入setTimeout()函數(shù)的內(nèi)容做了修改導(dǎo)致變量失效.
我緊接著做了下一個(gè)實(shí)驗(yàn).
<span style="font-size:18px;"><html>
<head>
<title></title>
</head>
<body>
<a href="#" id='heihei' onclick="showNext('I am veinei ')">show next</a>
<a href="#" id="log" style="display:none" >yes,I am the next </a>
<script type="text/javascript" src="jquery-1.10.2.min.js"></script>
<script type="text/javascript">
function showNext(text){
setTimeout("alert(text)",1000);
}
</script>
</body>
</html>
</span>
我要看看是不是確實(shí)是jQuery出了問(wèn)題.得到的是同樣的錯(cuò)誤.
后來(lái)找了本書(shū)看了看.發(fā)現(xiàn)了問(wèn)題的所在.
setTimeout() 接受一個(gè)字符串參數(shù)時(shí),它執(zhí)行于全局作用域,也就是說(shuō),它位于任何函數(shù)之外.最簡(jiǎn)單的修復(fù)手段就是使用一個(gè)局部函數(shù)(匿名函數(shù))來(lái)解決這個(gè)問(wèn)題.
<span style="font-size:18px;"><html>
<head>
<title></title>
</head>
<body>
<a href="#" id='heihei' onclick="showNext('I am veinei ')">show next</a>
<a href="#" id="log" style="display:none" >yes,I am the next </a>
<script type="text/javascript" src="jquery-1.10.2.min.js"></script>
<script type="text/javascript">
function showNext(text){
setTimeout(function(){$('#log').show().text(text);},1000);
}
</script>
</body>
</html>
</span>
成功解決這個(gè)問(wèn)題.
- 關(guān)于setInterval、setTimeout在jQuery中的使用注意事項(xiàng)
- jQuery setTimeout()函數(shù)使用方法
- SQL查詢超時(shí)的設(shè)置方法(關(guān)于timeout的處理)
- JQuery中SetTimeOut傳參問(wèn)題探討
- Jquery倒數(shù)計(jì)時(shí)按鈕setTimeout的實(shí)例代碼
- sliderToggle在寫(xiě)jquery的計(jì)時(shí)器setTimeouter中不生效
- node.js超時(shí)timeout詳解
- js超時(shí)調(diào)用setTimeout和間歇調(diào)用setInterval實(shí)例分析
- jQuery AJAX timeout 超時(shí)問(wèn)題詳解
相關(guān)文章
jquery 將當(dāng)前時(shí)間轉(zhuǎn)換成yyyymmdd格式的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇jquery 將當(dāng)前時(shí)間轉(zhuǎn)換成yyyymmdd格式的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考2016-06-06jQuery Validate表單驗(yàn)證入門學(xué)習(xí)
這篇文章主要介紹了jQuery Validate表單驗(yàn)證入門知識(shí),該插件捆綁了一套有用的驗(yàn)證方法,包括 URL 和電子郵件驗(yàn)證,同時(shí)提供了一個(gè)用來(lái)編寫(xiě)用戶自定義方法的 API,感興趣的小伙伴們可以參考一下2015-12-12jquery 實(shí)現(xiàn)兩Select 標(biāo)簽項(xiàng)互調(diào)示例代碼
這篇文章主要與大家分享了jquery實(shí)現(xiàn)兩Select標(biāo)簽項(xiàng)互調(diào)的具體實(shí)現(xiàn),比較簡(jiǎn)單,比較實(shí)用2014-09-09jquery中輸入驗(yàn)證中一個(gè)不錯(cuò)的效果
在表單的輸入驗(yàn)證中,經(jīng)常要當(dāng)用戶沒(méi)能正確輸入后,要提示“XXXX輸入錯(cuò)誤”這一類的信息,如何能搞到動(dòng)態(tài)一點(diǎn)呢,今天發(fā)現(xiàn)jquery中的一個(gè)不錯(cuò)的效果,筆記之。2010-08-08利用JQuery+EasyDrag 實(shí)現(xiàn)彈出可拖動(dòng)的Div,同時(shí)向Div傳值,然后返回Div選中的值
JQuery是一個(gè)優(yōu)秀的Javascript類庫(kù),使得我們?cè)?jīng)對(duì)JavaScript的痛恨不再,越來(lái)越喜歡上了JavaScript,而且更好的是他的plugin眾多.2009-10-10基于jQuery實(shí)現(xiàn)的當(dāng)離開(kāi)頁(yè)面時(shí)出現(xiàn)提示的實(shí)現(xiàn)代碼
基于jQuery實(shí)現(xiàn)的當(dāng)離開(kāi)頁(yè)面時(shí)出現(xiàn)提示的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-06-06jquery.combobox中文api和例子,修復(fù)了上面的小bug
關(guān)于jquery.combobox,這個(gè)jquery的插件從官網(wǎng)上直接下載下來(lái)使用還有bug,以下是我對(duì)其api做的簡(jiǎn)單翻譯,而且修復(fù)了上面的bug。2011-03-03jQuery 獲取跨域XML(RSS)數(shù)據(jù)的相關(guān)總結(jié)分析
下面小編就為大家?guī)?lái)一篇jQuery 獲取跨域XML(RSS)數(shù)據(jù)的相關(guān)總結(jié)分析。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05