我有一个输入和一个按钮.当我从输入模糊并且输入已更改时,应调用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>
Run Code Online (Sandbox Code Playgroud)
单击和更改事件不会同时发生。它们接连发生。
called = true,然后执行console.log("called");并called=false再次设置。called == false,因此它设置called = true;,然后执行console.log("called");并再次设置called=false。| 归档时间: |
|
| 查看次数: |
1379 次 |
| 最近记录: |