私は1つの入力と1つのボタンを持っています。入力からぼかして入力が変更された場合、price() 関数を呼び出す必要があります。また、ボタンをクリックすると、 price() 関数が呼び出される必要があります。
問題は、ユーザーが入力値を変更してボタンをクリックすると、price() 関数が 2 回呼び出されることです。私はこれが起こることを望んでいません。
入力時に変数「inPriceFunction」をtrueに設定し、設定されていないか確認してから入力するという昔ながらの方法を試してみました。2 つのイベント (ぼかしとクリック) がまったく同時に実行され、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>