你問我答-js初學者,有個問題,求大神指教。

js初學者,有個問題,求大神指教。
源代碼如下:

<script type="text/javascript">
     window.onload =function () {
        function getFocus(obj,msg) {
            var obj =document.getElementById(obj);
            var msg =document.getElementById(msg);
            obj.onfocus =function () {
                msg.style.display ='block'
            }
        }
        getFocus('name','nameMsg')();
    };
</script>

控制檯報錯

02.js:9 Uncaught TypeError: getFocus(...) is not a function
at window.onload (02.js:9)
window.onload @ 02.js:9

解決方案:
去掉getFocus(‘name’,’nameMsg’)();的括號

getFocus('name','nameMsg');

getFocus()可以在後面直接調用執行,按形參傳參。

附完整代碼:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            #nameMsg{
                width: 300px;
                height: 200px;
                background: #008000;
                display: none;
            }
        </style>
        <script type="text/javascript">
             window.onload =function () {
                function getFocus(obj,msg) {
                    var obj =document.getElementById(obj);
                    var msg =document.getElementById(msg);
                    obj.onfocus =function () {
                        msg.style.display ='block'
                    }
                }
                getFocus('name','nameMsg');
            };
        </script>
    </head>
    <body>
        <input type="text" id="name"/>
        <div id="nameMsg"></div>
    </body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章