javascript - 箭头函数不适用于 onClick 事件处理程序
问题描述
是否可以像在第一个按钮(aBtn1)的 onclick 事件处理程序上那样使用箭头功能?有人可以解释为什么第一种方法失败了吗?
<script>
var arrFunc = () => {
console.log('test btn clicked');
};
</script>
<form>
<label for="name">Name</label>
<input type="text" value="" id="name" />
<input type="button" name="aBtn1" value="Test" onclick="() => { console.log('test button clicked'); }" />
<input type="button" name="aBtn2" value="Test" onclick="arrFunc();" />
<input type="submit" value="Submit" />
</form>
解决方案
第一个选项仅声明了一个不调用它的函数。您需要在声明后调用它。(() => { console.log('test button clicked'); })()
这没有什么意义,你可以简单地使用函数的主体。
var arrFunc = () => {
console.log('test btn clicked');
};
<form>
<label for="name">Name</label>
<input type="text" value="" id="name" />
<input type="button" name="aBtn1" value="Test" onclick="(() => { console.log('test button clicked'); })()" />
<input type="button" name="aBtn2" value="Test" onclick="arrFunc();" />
<input type="submit" value="Submit" />
</form>
推荐阅读
- apache-kafka - 是否可以/最佳实践将不同的 kafka 代理添加到同一个集群?
- python - 在 Python 3.8 上安装 Jupiter 会引发异常
- templates - 更改 vitae R 包中引文的作者姓名文本
- android - Android studio Speech to text 离线模式不起作用
- android-studio - 为什么我的凌空呼叫成功后我的变量设置为空
- oracle - 如何强制条件聚合中的一组可能值?
- documentum - 如何获取 dm_document 的内容数量?
- vue.js - Vuex 映射状态在组件中始终未定义
- html - 我怎样才能使所有带有边距的项目居中?
- spring - SCM - spring 如何处理多个版本