不能調用jquery中ready里面定義的函數?


現象:不能調用jquery中ready里面定義的函數

源碼:<script type="text/javascript">

$(document).ready(function(e) {

function test(){

alert('test!');

}

});

test(); // 報錯,test()未定義

</script>

解析:ready也相當於一個函數,即新建一局部函數作用域,外面 當然不可用。和js的onload函數差不多,就比如onload="ready()"

function ready(){

function test(){

alert("test!")

}

}

你在外面肯定調用不了test()函數的

解決方法:

1、把要在外面調用的函數test()從$(document).ready 單獨抽出來,供調用!

2、將要在外部調用的函數的作用域提升為全局作用域(變量申明),如下:

<script type="text/javascript">

var test;//定義一全局變量,可省略

$(document).ready(function(e) {

test=function(){

alert('test!');

}

});

test(); //現在可以在外部調用了

</script>

<a href='javascript:;' onclick='test();'>點擊測試,test();供標簽事件調用</a>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM