gpt4 book ai didi

javascript - 调用同一个函数的两个 dom 事件如果同时发生,则应该只调用该函数一次

转载 作者:数据小太阳 更新时间:2023-10-29 04:44:26 26 4
gpt4 key购买 nike

我有一个输入和一个按钮。当我从输入模糊并且输入发生变化时,应该调用 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>

最佳答案

Underscore 已涵盖:http://underscorejs.org/#throttle

  • throttle 将防止您的函数在规定的时间长度。
  • once 将阻止您的函数被调用两次。

关于javascript - 调用同一个函数的两个 dom 事件如果同时发生,则应该只调用该函数一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16609565/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com