【发布时间】:2021-08-27 09:12:23
【问题描述】:
我想让function 在 Javascript 中单击按钮时停止工作。
我尝试使用if 语句来检查按钮是否被点击。另外,我试图让函数在另一个函数中满足某个条件时停止工作。
但是,它仍然不起作用。
有谁知道如何使它工作以及为什么onclick == true 不再工作?
let textarea = document.getElementsByTagName('textarea')[0]
let message = document.getElementById('message')
function clicks() {
console.log('hi')
//I want to make the appear function stop working when this function is executing.
}
function appear() {
//this is not working
if (document.getElementsByTagName('button')[0].onclick == true) {
message.style.display = 'none'
console.log('it works')
} else {
message.style.display = 'revert'
textarea.value = textarea.value.trimStart();
}
};
<textarea></textarea>
<div id="message">.....</div>
<button onclick="clicks()">split(20px)</button>
【问题讨论】:
-
.onclick == true没有意义。 onclick 属性保存对您指定为单击处理程序的函数对象的引用(因此,此条件将始终评估为真。)这与按钮是否被实际单击无关。只需从处理函数中切换布尔标志的值,然后您可以在下次单击时检查该标志。 -
appear怎么称呼?你的问题不是很清楚。 -
根据 wCBroe 的评论,保存值 true 或 false 的隐藏字段可以解决问题。
-
@CBroe,我不太确定该怎么做。比如我做handler函数,第一次点击会变成true,第二次点击会变成false吗……
标签: javascript html function button