javascript - 为什么我的 javascript 函数没有被新的函数替换?
问题描述
我想更改单击按钮后要调用的javascript函数,但它仍然是被调用的旧函数。
第一次点击时调用的函数:longueur()
第二次点击时调用的函数:tester()
html代码:
<input id="entree" type="text" name="longueur" value="" />
<input id="bouton" type="submit" value="longueur du mot" onclick="longueur()" />
javascript:
function longueur() {
let entree = document.getElementById("entree") ;
let bouton = document.getElementById("bouton") ;
...
...
...
entree.name = "lettre" ;
bouton.value = "Nouvelle lettre" ;
bouton.onclick = "tester()" ;
}
为什么在第二次点击时仍然调用 longueur() ?
解决方案
.onclick属性期望接收一个,而不是您使用字符串设置它。检查下一个显示正确用法的示例:function
"tester()"
function longueur()
{
console.log("longueur called!")
let bouton = document.getElementById("bouton") ;
bouton.value = "Nouvelle lettre" ;
bouton.onclick = tester;
}
function tester()
{
console.log("tester called!");
}
.as-console {background-color:black !important; color:lime;}
<input id="entree" type="text" name="longueur" value=""/>
<input id="bouton" type="submit" value="longueur du mot" onclick="longueur()"/>
在您需要将参数传递给tester()
方法的特殊情况下,您可以像下一个示例一样继续,该示例使用匿名函数表达式:
let arg1 = <some_value>;
let arg2 = <some_value>;
...
bouton.onclick = function() { tester(arg1, arg2); };
推荐阅读
- python-3.x - sympy 符号简化 Norm CDF PDF?
- c# - UWP TabView 重复按钮
- git - 有没有办法为 github 拉取请求列出所有更改的文件
- reactjs - 如何将 div + useStyles 从@emotion/styled 转换为样式?
- javascript - 点概念如何在数组或不同的地方工作
- java - 根据值和大小的总和在多个列表中拆分对象列表
- node.js - MongoDB - 如何为集合中的对象设置可变结构
- android - Kotlin Android 依次显示几个已定义的布局活动
- json - IDEA无法在mac中将json文件格式化为漂亮
- r - ggplot barplot:将每个单独的令牌作为自己的条形图