我有一个输入和一个按钮。当我从输入中模糊并且输入发生变化时,应该调用 price() 函数。此外,当我单击按钮时,应该调用 price() 函数。
问题是当用户修改输入值并点击按钮时,price() 函数被调用了两次。我不希望这种情况发生。
我尝试了老式的方法,在输入时将变量“inPriceFunction”设置为true,并在输入前检查它是否未设置。这不起作用,因为两个事件(模糊和单击)是在完全相同的时间执行的,if 和变量集没有时间发生。
我怎样才能避免这种情况?
我试过的:
<div>
<input type=text onchange="price();" />
</div>
<button onclick="price();" />test</button>
<script>
called = 0;
function price() {
if(called == true){
return;
} else {
called = true;
}
console.log("called");
called=false;
}
</script>