javascript - 一个段简单的js代码,一直提示变量没有定义
巴扎黑
巴扎黑 2017-04-11 11:23:36
[JavaScript讨论组]

想做一个点击按钮后,一段文字出现在屏幕上,刚刚开始学js,
console里一直提示 pickme is not defined。

    
    
    
        测试
        
        
    
    
        

巴扎黑
巴扎黑

全部回复(5)
巴扎黑

原因如楼上所说。
若担心文档未加载完,用户触发事件,可以这样:

<script type="text/javascript">
window.onload = function() {
    function pickme() {
        var pickup = document.getElementById('pickup');
        var textbox =document.getElementById('textbox');
        textbox.innerHTML="你点击了按钮";
    }
    document.getElementById('pickup').addEventListener('click',pickme)
}
</script>

另为避免脚本影响文档渲染,不是必须放在前面的,建议放到文档后面,即 </body> 之前。

ringa_lee

你的pickme函数定义在了window.onload函数内部,所以button的onclick是拿不到的,改成全局的就可以了

<script type="text/javascript">
         function pickme() {
                var pickup = document.getElementById('pickup');
                var textbox =document.getElementById('textbox');
                textbox.innerHTML="你点击了按钮";
            }
</script>
高洛峰

把window.onload 去掉就可以了

迷茫

对于楼主的问题,去掉window.onload即可,
因为这个pickup方法定义的作用域不是全局的,是访问不到了。

伊谢尔伦

script放在head中需要用window.onload来实现最后的加载,而如果放在</body>之前,则不需加了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号