在这里,我遇到了一个小问题,我不知道自己该怎么做。
让我解释一下:我在输入中有不同的值,当我输入值时,我想删除旧值
例如:输入中有90个,我希望当我达到54时,90是抑制,我可以写54.目前我总是删除输入的值,这让我感到困扰。所以我最终得到了4 ..
如果有人想知道如何做这样的事情,请提前感谢你!
真诚。
我试过这个:
$j(this).keydown(function() {
clearInterval(timer);
timer = setTimeout(function() {
return false;
},1000);
$j(this).val('').change();
});
但是计时器并不是一个好的答案,因为它在1秒后进入,我想要的是如果有变化则将值更改为null然后如果它们没有使值变为null任何不到1秒的任何东西。
答案 0 :(得分:0)
在焦点上清除它而不是在键入时清除它:
$j(this).focus(function() {
$(this).val('');
});
现在每次点击它都会清除,但每次输入时都不会清除。如果您尝试清除第一次点击,那么我们如何知道您何时需要再次清除并清除它?在keydown上做这件事并没有多大意义。
答案 1 :(得分:0)
以下解决了您的问题(如果我理解您正确的行为)
var firstDown = true;
$j('#test').focus(function(){
firstDown = true;
});
$j('#test').keydown(function() {
if(firstDown){
$j(this).val('');
firstDown = false;
}
});
$j('#test').blur(function(){
firstDown = true; // not necessary
});
focus
) - > 90留在输入blur
)之外 - >输入保持' 54' 编辑:更优雅(紧凑)的解决方案
$j('#test').focus(function(){
$j(this).keydown(function() {
$j(this).val('');
$j(this).unbind('keydown');
});
});