为了账号安全,请及时绑定邮箱和手机立即绑定

关于JS在模板字符串里的函数调用不了外部的方法,求解惑,这问题困扰了很久!

关于JS在模板字符串里的函数调用不了外部的方法,求解惑,这问题困扰了很久!

慕村5492868 2018-08-02 18:00:16
window.onload = function(){ var html = "";     html +=      `     <div onclick="test()">点击触发</div>     `     $("body").append(html);          function test(){     console.log(1)     }} 注:想具体知道什么原因,并且题主知道把这个函数放到window.onload外面就可以调用到了。有没有什么办法能在里面调用到函数,因为题主需要在里面取数据用,放到外面就拿不到了。(不知道是不是作用域的原因)
查看完整描述

1 回答

已采纳
?
千秋此意

TA贡献158条经验 获得超187个赞


就是作用域的问题,你的test是定义在一个函数作用域内,onclick属性直接执行js调用函数只能找到全局作用域里的函数,非要这么写的话你可以把

function test() {
    console.log(1)
}

替换成

window.test = function() {
    console.log(1)
}

查看完整回答
2 反对 回复 2018-08-02
  • 慕村5492868
    慕村5492868
    原来onclick是调用全局的啊,这么说就明白了。谢谢你的解惑?!
  • 1 回答
  • 1 关注
  • 2521 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信