weixin_36977678
不知何去程序猿
采纳率85.7%
2018-03-12 02:42 阅读 1.4k

window.onload中,在input中onclick=“checkBtn1()”事件中执行不了

5

window.onload=function(){
function checkBtn1(){
alert("ss2");
}
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

14条回答 默认 最新

  • 已采纳
    Zhangxianshao Zhangxianshao 2018-03-12 04:09

    是否有跳转 执行顺序查看下。。。,因为闭包的原因,你的checkBtn1函数不是全局函数,而标签的事件中只能调用全局函数,所以无法执行。你可以将函数定义放在外层。checkBtn1()方法不能写再onload事件中

    点赞 评论 复制链接分享
  • showbo GoCityPass新加坡曼谷通票 2018-03-12 04:03

    不用放到函数内部,这样会变为私有函数,dom onclick绑定的事件必须要是window作用域下的,无法访问其他函数内部的私有函数

    点赞 2 评论 复制链接分享
  • zforler 单调的黑白灰 2018-03-12 02:48

    // window.onload=function(){
    function checkBtn1(){
    alert("ss2");
    }
    // }

    这样就可以了。加上onload事件,html解析到input时checkBtn1还没有初始化
    
    点赞 1 评论 复制链接分享
  • smallCatHaveBigWord smallCatHaveBigWord 2018-03-12 02:42

    没有调用这个函数啊大哥

    点赞 评论 复制链接分享
  • wangchenxunum wangchenxunum 2018-03-12 02:44

    因为闭包的原因,你的checkBtn1函数不是全局函数,而标签的事件中只能调用全局函数,所以无法执行。你可以将函数定义放在外层。

    点赞 评论 复制链接分享
  • matrix_cg 密缘之友 2018-03-12 02:44

    是否有跳转 执行顺序查看下。。。

    点赞 评论 复制链接分享
  • m0_37680711 m0_37680711 2018-03-12 02:45

    window.onload=function(){
    function checkBtn1(){
    alert("ss2");
    }

    点赞 评论 复制链接分享
  • csdnMinotaur tsh2017 2018-03-12 02:50

    写在onload函数里面是属于局部函数,所以会显示checkBtn1未定义
    你应该把checkBtn1写在外层

    点赞 评论 复制链接分享
  • weixin_36904063 weixin_36904063 2018-03-12 03:32

    checkBtn1()方法不能写再onload事件中

    点赞 评论 复制链接分享
  • immrma 缘来一场梦 2018-03-12 03:40

    window.onload=function(){
    checkBtn1();
    }
    function checkBtn1(){
    alert("ss2");
    }

    点赞 评论 复制链接分享
  • weixin_41617562 weixin_41617562 2018-03-12 04:40

    onclick绑定的事件无法访问其他函数内部的私有函数

    点赞 评论 复制链接分享
  • u010936098 橡木疙瘩 2018-03-12 05:07

    window.onload=function(){
    function checkBtn1(){
    alert("ss2");
    }
    }
    你这里的checkBtn1就是定义了一个函数,但没有执行,自然不会有任何反应。

    window.onload=function(){
    alert("ss2");
    }
    就可以了。

    或者也可以试试:
    window.onload=function(){
    function checkBtn1(){
    alert("ss2");
    }();
    }
    加一个调用,不过这种画蛇添足的写法我也没试过,能不能行得试试再说。

    点赞 评论 复制链接分享
  • u014625625 xiaoyang1163 2018-03-12 06:14

    window.onload是一个事件,当文档内容完全加载完成会触发该事件。
    一般我们的页面格式顺序:html,head,title,style,script,body,那么页面加载执行顺序也是如此。
    如果我们定义一个函数:
    window.onload=function(){
    alert('此函数表示,需要加载完body体里的内容后,才会执行。');
    }
    而该函数:
    window.onload=function(){

    function checkBtn1(){
        alert("此函数表示,需要调用checkBtn1方法,才会执行。");
    }
    
    checkBtn1(); //此处调用
    

    }

    点赞 评论 复制链接分享
  • qq_38041776 流年丶痞子 2018-03-12 07:03

    function checkBtn1(){
    alert("ss2");
    }
    这样写
    你要是前端,估计教你的那个人得气死

    点赞 评论 复制链接分享

相关推荐