Jquery 如何仅在keydown或keyup中第一次抑制输入值
在这里我遇到了一个小问题,我不知道该怎么办 让我解释一下:我在输入中有不同的值,当我得到这些值时我想删除旧的值 例:输入中有90,我希望当我达到54时,90是suppress,我可以写54。目前,我总是删除困扰我的输入值。所以我最终得到了4 如果有人知道如何做这样的事情,请提前谢谢 真的 我试着这样做:Jquery 如何仅在keydown或keyup中第一次抑制输入值,jquery,Jquery,在这里我遇到了一个小问题,我不知道该怎么办 让我解释一下:我在输入中有不同的值,当我得到这些值时我想删除旧的值 例:输入中有90,我希望当我达到54时,90是suppress,我可以写54。目前,我总是删除困扰我的输入值。所以我最终得到了4 如果有人知道如何做这样的事情,请提前谢谢 真的 我试着这样做: $j(this).keydown(function() { clearInterval(timer); timer = setTimeout(function() {
$j(this).keydown(function() {
clearInterval(timer);
timer = setTimeout(function() {
return false;
},1000);
$j(this).val('').change();
});
但是计时器不是一个好的答案,因为它在1秒后进入,我想要的是,如果有更改,则将值更改为null,如果他们在1秒以内键入任何内容,则不要将值更改为null。在焦点上清除它,而不是在键入:
$j(this).focus(function() {
$(this).val('');
});
现在,它将清除每次你点击它,但不会清除每次你键入。如果您尝试在第一次单击时清除,那么我们如何知道您何时要再次清除以及应该清除?在按下键时执行此操作没有多大意义。以下内容解决了您的问题(如果我正确理解了您想要的行为)
focus
)->90停留在输入中blur
)->输入保持“54”$j('#test').focus(function(){
$j(this).keydown(function() {
$j(this).val('');
$j(this).unbind('keydown');
});
});
请提供一些代码,解释您已经尝试过的内容。如果您共享相关的代码,讨论这些内容会很好吗?我不太明白您想要实现什么。请澄清。如果用户单击输入,但在1秒内未进行任何更改,是否要清除该值?不是在用户单击时,而是在用户写入内容时。但我不想每次他写东西的时候都压制他。所以我需要做一个计时器,看看他是否还在写。所以,输入中有“90”。我点击它并等待一秒钟->输入被清除。然后我输入'15',然后一秒钟什么都没有->输入保持不变。这是我想要的行为吗?看起来很完美,我现在就试试。
$j('#test').focus(function(){
$j(this).keydown(function() {
$j(this).val('');
$j(this).unbind('keydown');
});
});