我有一个输入字段,其中使用模态填充值,只需当我单击一个按钮时,将出现一个模态,我将在那里选择一些内容,它将填充我的输入字段。
现在我的问题是我想在输入字段的值发生变化时触发事件。我已经尝试过使用.change和.blur,但它不会触发。
这就是我尝试过的所有内容:
$('#myTextbox').on('input', function() {
alert("test");
});
$('#myTextbox').on('change', function() {
alert("test");
});
$('#myTextbox').on('blur', function() {
alert("test");
});
答案 0 :(得分:2)
使用event delegation
您的问题是您输入的字段是动态生成的。因此,当您的页面准备就绪时,它不在DOM中。
$('body').on('blur', '#myTextbox', function() {
alert("test");
});
仅供参考,您也可以使用change
。
修改强>
您可以使用setTimeout
一个解决方案,直到您的文本框获得填充值。
或强>
您可以尝试使用DOMAttrModified
$('body').on('DOMAttrModified propertychange paste', '#myTextbox', function() {
alert("test");
});
答案 1 :(得分:1)
$(document).ready(function() {
$('#myTextbox').on('blur', function() {
alert("test");
});
});
OR
$(document).ready(function() {
$('#myTextbox').on('change', function() {
alert("test");
});
});
答案 2 :(得分:0)
尝试使用这样的方法,可能是您的input
字段在运行时填充,这就是事件未触发的原因。
$(document).on('change blur keyup', '#myTextbox', function() {
alert("test");
});
您可以使用一个.on()
方法绑定所有事件。不需要写任何时间。