javascript - 触发 keyup 函数时清除文本字段

标签 javascript jquery

我正在尝试在触发 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/

相关文章:

javascript - 在悬停动态时显示/隐藏 div

javascript - 固定状态栏与滑出菜单冲突

javascript - R Shiny 应用程序,制作自动向下滚动的日志

javascript - jQuery 在单击时删除输入字段

javascript - Webkit 浏览器不允许我设置 CORS 预检 header

javascript - 如何替换jquery mobile中的li?

javascript - 用于显示文本框的 jQuery

javascript - 用户单击输入类型复选框时进行条件检查

javascript - 如何在 React 渲染之前触发 useEffect?

javascript - 执行 imap_close 不工作