gpt4 book ai didi

javascript - Bootstrap数字输入旋转器不会停止旋转

转载 作者:行者123 更新时间:2023-12-03 04:23:45 26 4
gpt4 key购买 nike

<强> Demo on Bootsnipp

问题:

如果您按住左键单击 + 或 -,然后右键单击,将鼠标移离 + 或 - 按钮并松开两次单击,“mouseup”功能将永远不会触发,并且会一直保留添加或减去数字,您无法阻止它。

想法?

提前致谢!

最佳答案

下面代码中的说明:

$(function() {
var action;
$(".number-spinner button").mousedown(function () {
btn = $(this);
input = btn.closest('.number-spinner').find('input');
btn.closest('.number-spinner').find('button').prop("disabled", false);
// You're creating a new interval on every mousedown (left and right click)
// You need to clear the previous interval to make this work.
clearInterval(action);
if (btn.attr('data-dir') == 'up') {
action = setInterval(function(){
if ( input.attr('max') === undefined || parseInt(input.val()) < parseInt(input.attr('max')) ) {
input.val(parseInt(input.val())+1);
}else{
btn.prop("disabled", true);
clearInterval(action);
}
}, 50);
} else {
action = setInterval(function(){
if ( input.attr('min') === undefined || parseInt(input.val()) > parseInt(input.attr('min')) ) {
input.val(parseInt(input.val())-1);
}else{
btn.prop("disabled", true);
clearInterval(action);
}
}, 50);
}
}).mouseup(function(){
clearInterval(action);
}).mouseout(() => {
// Added to stop spinning when mouse leaves the button
clearInterval(action);
});
});

回顾:

  1. 按下鼠标时清除上一个间隔。
  2. 也清除鼠标移开上的间隔。

关于javascript - Bootstrap数字输入旋转器不会停止旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43823933/

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