javascript - 如何更改模糊的输入值?
问题描述
我有一个链接作为“添加更多”,它可以添加任意数量的输入元素。我想为此调用模糊功能。
单击“添加更多”链接时添加以下 html:
<input required="" class="form-control js-validate-hoursToAdd timetoadd" step="0.01" name="calculations[settingIndex][hoursToAdd][calculationIndex]" type="number" value="">
Blur 事件仅适用于默认情况下存在于 DOM 中的第一个元素。当我添加新元素时,模糊事件不会绑定到元素。
以下是javascript代码。
$(document).ready(function() {
$(".timetoadd").blur(function(){
this.value = parseFloat(this.value).toFixed(2);
});
)};
它位于名为 backend.js 的单独文件中。我正在使用 webpack 来缩小文件,它包含在 html 文件中。
怎么做?请帮帮我。
解决方案
在父元素上使用 jQuery 的on()
方法,并带有一个额外的选择器作为第二个参数:
$(document).ready(function() {
$("#btnAdd").click(function() {
$('<br/><input required="" class="form-control js-validate-hoursToAdd timetoadd" step="0.01" name="calculations[settingIndex][hoursToAdd][calculationIndex]" type="number" value="">').appendTo(document.body);
});
$(document.body).on('blur', '.timetoadd', function(){
this.value = parseFloat(this.value).toFixed(2);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button type="button" id="btnAdd">Add more</button>
<br/><input required="" class="form-control js-validate-hoursToAdd timetoadd" step="0.01" name="calculations[settingIndex][hoursToAdd][calculationIndex]" type="number" value="">
除了document.body
,您还可以使用包含输入的任何其他父级。
推荐阅读
- python - 在 PyQt5 Python 中使用 QPropertyAnimation 处理二维数组
- javascript - 单击多个 setInterval 时,jQuery ClearInterval 不起作用
- javascript - 如何处理映射对象并更改内部值的重复代码
- node.js - 如何使用 express .node 、 mongoose 和 ejs 删除对象
- flutter - Dart 中类型注释的尖括号在 VSCode 中更改为每个主题的不正确颜色
- java - 在android中单击返回按钮时应用程序崩溃
- flutter - 如何显示 base64 图像
- python - 你能帮我为特定行插入背景颜色吗?
- r - 有没有办法在 dyplr/tidyverse 命令上启用语法突出显示?
- kubernetes - 如何启用警报管理器从新的 kubernetes 命名空间中选择警报管理器配置?