is not defined at HTMLInputElement.onclick

编程入门 行业动态 更新时间:2024-10-11 23:16:12

is not <a href=https://www.elefans.com/category/jswz/34/1771068.html style=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 = () => {}

参考来源:


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

在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的方法,

存疑:

  1. 全局方法和window方法的区别?2者说的是同一个东西吗?全局函数(在一个项目里各个文件都可用的函数)和这里的全局(window)不是同一个概念?

参考待阅读:

=sf-similar-question

  1. vue中像上面showPic.js中写的方法为什么不在window下?是因为单页面组件中函数写在setup(){},不是全局方法?

参考:

=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

更多推荐

is not defined at HTMLInputElement.onclick

本文发布于:2024-02-10 18:40:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1676722.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:defined   HTMLInputElement   onclick

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!