我想在单击按钮后将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()?
发布于 2019-05-05 17:24:43
.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); };
https://stackoverflow.com/questions/55994468
复制相似问题