[web教学] is not defined at HTMLInputElement.onclick

[复制链接]
查看786 | 回复0 | 2023-8-23 11:53:53 | 显示全部楼层 |阅读模式 来自 中国北京
vue项目中一小部门功能想要使用原生的onclick 事故,发现报错
  <blockquote class="kdocs-blockquote" style="">   Uncaught ReferenceError:   函数名 is not defined at HTMLInputElement.onclick                           搜刮了相关blog,得出结论是
  onclick事故调用的方法必须是全局变量大概说是window的方法
  办理方法:将click方法界说为全局方法
  1. window.clickfun = () => {}
复制代码
参考泉源:https://blog.csdn.net/weixin_43895819/article/details/124418469
  
  在纯原生项目里测试,没有出现此报错(在window里有我们写的方法)
  在index.html文件中写一个按钮,绑定aaa点击事故:
  1. <input type="button" value="登录" onclick="aaa()"/>  
复制代码
在showPic.js文件中写对应的方法,同时打印一下此时的window:
  1. function aaa(){
  2.     console.log('aaa事件调用了');
  3.     console.log(window);
  4. }
复制代码
打印输出效果:
                         可以看到在window里有我们写的aaa方法,onclick事故能正常调用
  
  综上,思量onclick调用的方法可以是window的方法,
  存疑:
  

  • 全局方法和window方法的区别?2者说的是同一个东西吗?全局函数(在一个项目里各个文件都可用的函数)和这里的全局(window)不是同一个概念?
  参考待阅读:
  https://segmentfault.com/q/1010000042313553?utm_source=sf-similar-question
  

  • vue中像上面showPic.js中写的方法为什么不在window下?是由于单页面组件中函数写在setup(){},不是全局方法?
  参考:
  https://blog.csdn.net/qq_38222534/article/details/110826356?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-110826356-blog-83748166.pc_relevant_3mothn_strategy_and_data_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-110826356-blog-83748166.pc_relevant_3mothn_strategy_and_data_recovery&utm_relevant_index=5

来源:https://blog.csdn.net/Zaralike/article/details/128791595
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则