javascript - 有没有办法通过选择将“后缀”附加到javascript函数?
问题描述
我不知道这到底叫什么,或者它是否可能。但基本上我想向“不完整”的方法添加东西。例如。
captureDog =()=>{
alert('caught dog');
}
captureCat =()=>{
alert('caught cat');
}
<select id="pet">
<option value="Cat">cat</option>
<option value="Dog">dog</option>
</select>
基本上我有一大堆捕获方法(我要么自己硬编码,要么创建另一种方法来创建它们)。我想基本上调用不同的方法,具体取决于选择的值(表现为方法的后缀)。我拥有的一些虚拟代码正在尝试执行我在下面所说的操作。
var selectField = document.getElementById("pet");
selectField.addEventListener("onchange", "capture"+ selectField.value ="()");
最好我希望只用普通的 javascript 来完成。
编辑:语法 EDIT2:固定箭头功能
解决方案
我认为是这样的:
var selectField = document.getElementById("pet");
let X = {
cat: function(){
console.log("cat 123")
},
dog: function(){
console.log("dog 123")
}
}
selectField.addEventListener("change", x => {
let val = x.target.options[x.target.selectedIndex].value
X[val]();
});
推荐阅读
- android - 在我的微调器 POJO 中,我有 id 和 name。所以在按钮单击时,我想在 kotlin android 中发送我的微调器 ID 而不是名称
- javascript - EmberJs:如何解决 Promise Many Array?
- vuetify.js - Vuetify 滑块附加插槽文本字段未与滑块对齐
- functional-programming - Isabelle 中的 Map 和 Mapping 有什么区别?
- python - discord.py pymongo // pymongo.errors.OperationFailure: bad auth : Authentication failed // 错误代码 8000
- python - 在堆栈栏中python plotly获取相同的数据顺序
- java - 我希望在第一个组合框中选择的城市不会出现在第二个组合框中
- c# - 在 C# .net 核心中使用多个身份验证提供程序
- python - 如果 xml 元素名称不存在,Python 继续
- javascript - 拼接数组去除力有向图中的错误节点