gpt4 book ai didi

jQuery多次点击,等到用户停止点击

转载 作者:行者123 更新时间:2023-12-01 00:47:36 25 4
gpt4 key购买 nike

我有一个加号按钮来增加文本字段中的数字。当文本字段值更改时,会触发 #updateCartButton,它会通过其他 ajax/php 代码更新表单。

我遇到的问题是在快速 session 中单击加号按钮 5 次也会触发 #updateCartButton 5 次。我希望一旦用户停止单击加号按钮(可能在 500 毫秒或其他时间后)就触发 #updateCartButton

我尝试解决它setTimeout,像这样,但它没有解决问题:

  setTimeout(function () {
$('#updateCartButton').trigger('click'); // trigger update button
}, 500);

有没有简单的解决方案?

$(function() {
$('.plus').on('click', function() {
var oldVal = $('input').val();
var newVal = (parseInt($('input').val(),10) + 1);

$('input').val(newVal);
$('#updateCartButton').trigger('click'); // trigger update button
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<button type="button" class="plus">+</button>
<input type="text" value="1">

最佳答案

您可以使用 setTimeout 仅在最后一次点击时调用更新,并使用 clearTimeout 重置所有先前点击的超时。

$(function() {
var clickTimeout;

$('.plus').on('click', function() {
clearTimeout(clickTimeout);

var oldVal = $('input').val();
var newVal = (parseInt($('input').val(),10) + 1);

$('input').val(newVal);

clickTimeout = setTimeout(function(){
$('#output').text($('input').val()); // replace with your update code
}, 500);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<button type="button" class="plus">+</button>
<input type="text" value="1">
<div>Updates on last click: <span id="output">1</span></div>

关于jQuery多次点击,等到用户停止点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35928912/

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