位置: IT常识 - 正文

is not defined at HTMLInputElement.onclick

编辑:rootadmin
is not defined at HTMLInputElement.onclick

推荐整理分享is not defined at HTMLInputElement.onclick,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

vue项目中一小部分功能想要使用原生的onclick 事件,发现报错

Uncaught ReferenceError:函数名 is not defined at HTMLInputElement.onclick

搜索了相关blog,得出结论是

onclick事件调用的方法必须是全局变量或者说是window的方法

解决方法:将click方法定义为全局方法

window.clickfun = () => {}

参考来源:https://blog.csdn.net/weixin_43895819/article/details/124418469

在纯原生项目里测试,没有出现此报错(在window里有我们写的方法)

is not defined at HTMLInputElement.onclick

在index.html文件中写一个按钮,绑定aaa点击事件:

<input type="button" value="登录" onclick="aaa()"/>

在showPic.js文件中写对应的方法,同时打印一下此时的window:

function aaa(){console.log('aaa事件调用了');console.log(window);}

打印输出结果:

可以看到在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://www.jiuchutong.com/zhishi/298282.html 转载请保留说明!

上一篇:layui最新版本更新已全面拥抱Vue3,layui - vue是一套Vue 3.0的桌面端组件库,提供100%的layui的体验;(layui 安卓)

下一篇:【前端】从零开始读懂Web3(前端开发从入门到放弃)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络