我正在尝试在触发 keyup
函数后清除文本字段。
我使用了一个简单的 val('')
来清除,但它不起作用。还有如果曾经。我希望我的文本字段首先不允许输入句点或 .
,例如 .12
。
这是我的 keyup
函数:
$('#gross-mass').keyup(function(event) {
var currentVal = $(this).val();
if (parseFloat(currentVal) == 0.00 && (event.which == 48 || event.which == 96)) {
//currentVal = currentVal.slice(0, 3);
currentVal.val(' ');
}
$(this).val(currentVal);
});
最佳答案
首先,你需要使用$(this).val("")
,而不是currentVal.val(' ');
(在我的例子中是只是 el.val("")
因为我已经存储了 var el = $(this)
)。并且您应该在方法结束之前删除这一行:$(this).val(currentVal);
,因为它将 input
的值设置回 当前值
。这是工作示例,尝试键入 0
例如,input
的值将在 keyup
事件后清除:
$('#gross-mass').keyup(function(event) {
var el = $(this)
var currentVal = el.val();
if (parseFloat(currentVal) == 0.00 && (event.which == 48 || event.which == 96)) {
el.val("");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="gross-mass">
关于javascript - 触发 keyup 函数时清除文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48087694/