javascript - 检查输入字段的值是否改变

标签 javascript jquery

我有一个输入字段,其中的值是使用模式填充的,只需当我单击按钮时,就会出现一个模式,我将在那里选择一些内容,它将填充我的输入字段。

现在我的问题是我想在输入字段的值发生变化时触发一个事件。我已经尝试使用 .change 和 .blur 但它不会触发。

这就是我所尝试的:

$('#myTextbox').on('input', function() {
    alert("test");
});

$('#myTextbox').on('change', function() {
    alert("test");
});

$('#myTextbox').on('blur', function() {
    alert("test");
});

最佳答案

使用事件委托(delegate)

你的问题说你的输入字段是动态生成的。因此,当您的页面准备就绪时,它并不在 DOM 中。

$('body').on('blur', '#myTextbox', function() {
    alert("test");
});

仅供引用,您也可以使用change

编辑

您可以使用 setTimeout 直到您的文本框填充值为止的一种解决方案。

您可以尝试使用DOMAttrModified

$('body').on('DOMAttrModified propertychange paste', '#myTextbox', function() {
    alert("test");
});

Reference

关于javascript - 检查输入字段的值是否改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39993741/

相关文章:

javascript - 仅在单击父列表项时切换

javascript - 如何使用 javascript 从包含 html 代码的变量中获取选定的 div 部分?

javascript - 向文本区域添加空格

javascript - Bootstrap 4 反馈文本无法正确呈现

javascript - Raphael.js - 我可以使用带有淡入淡出效果的 .show/.hide 吗?

jquery - POST 使用 JQuery 工作,但不能使用 Angularjs

javascript - 在 Modal 上显示 struts2 操作错误消息

javascript - 为什么使用 while 循环填充新数组的速度如此之快?

javascript - "old"手机不显示复选框复选标记,当通过 javascript 选中时

javascript - 如何从外部服务器导入数据