onclick 定義的方法 在$(function(){})或window.onload=function(){}中無效


$(function(){ }) 或 window.onload=function(){}  表示頁面加載完成后執行,html文檔從至上而下解析的時候 ; 解析到onclick="showAlert()"方法的時候寫在$(function(){ }) 或 window.onload=function(){} 里的方法還沒有聲明,會報錯。

----------------------------------------

 如果將showAlert()方法寫道$(function(){ }) 或 window.onload=function(){}  外,html文檔從至上而下解析會遇到function showAlert(){}的方法,就會在內存中開辟一個新的空間來對函數進行存儲,方便以后進行調用。所以該方法起作用

---------------------------------------

 

window.onload並不是必須得
同樣由於頁面加載的順序原因及js的書寫的位置原因,window.onload();並不是非要使用的。
當js代碼需要獲取頁面中的元素時,如果script標簽在元素的前面,需要加window.onload;如果script放在了元素后面,就不需要加 window.onload。

---------------------------
window.onload 和 $(function(){})的 區別

window.onload是js原生,$(function(){})需要引用jquery庫才生效
多個window.onload=function(){}只執行最后一個;

多個$(function(){})都執行

 
         
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <div  onclick="alert(111)">彈框1</div>
        <!-- showAlert is not defined -->
        <div  onclick="showAlert()">彈框2</div>
        
        <div id="click">彈框3</div>
    </body>
</html>
<script>
    window.onload=function(){
        function showAlert(){
            alert(222);
        }
        document.getElementById('click').onclick=function(){
            alert(333);
        }
    }    
</script>
 
         

 

 

 


免責聲明!

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



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