Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查输入字段的值是否更改_Javascript_Jquery - Fatal编程技术网

Javascript 检查输入字段的值是否更改

Javascript 检查输入字段的值是否更改,javascript,jquery,Javascript,Jquery,我有一个输入字段,其中的值是使用模式填充的,只要我单击一个按钮,就会出现一个模式,我会在那里选择一些内容,它就会填充我的输入字段 现在我的问题是,我想在输入字段的值发生变化时触发一个事件。我已经试过使用.change和.blur,但它不会触发 这就是我所尝试的: $('#myTextbox').on('input', function() { alert("test"); }); $('#myTextbox').on('change', function() { alert("

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

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

这就是我所尝试的:

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

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

$('#myTextbox').on('blur', function() {
    alert("test");
});
使用事件委派

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

$('body').on('blur', '#myTextbox', function() {
    alert("test");
});
仅供参考,您也可以使用更改

编辑

一种解决方案是在文本框填充值之前使用setTimeout

您可以尝试使用DOMAttrModified

使用事件委派

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

$('body').on('blur', '#myTextbox', function() {
    alert("test");
});
仅供参考,您也可以使用更改

编辑

一种解决方案是在文本框填充值之前使用setTimeout

您可以尝试使用DOMAttrModified


尝试这样使用,可能是您的输入字段在运行时填充,这就是事件未触发的原因

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

您可以在一个.on方法中绑定所有事件。无需写入次数。

尝试这样使用,可能是您的输入字段在运行时填充,这就是事件未触发的原因

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


您可以在一个.on方法中绑定所有事件。无需写入次数。

输入更改时未触发蓝色事件。你应该使用变更事件。我不认为这是OP的问题。我猜他是通过编程方式从一些模式输入更改输入值的。对不起,让您感到困惑,该值是使用js添加的,而不是它的字段self@hungrykoala:我已经更新了我的答案,试试看,它可能对你有用。一切正常吗?输入更改时未触发蓝色事件。你应该使用变更事件。我不认为这是OP的问题。我猜他是通过编程方式从一些模式输入更改输入值的。对不起,让您感到困惑,该值是使用js添加的,而不是它的字段self@hungrykoala:我已经更新了我的答案,试试看,它可能对你有用。一切正常吗?那么你如何更改输入值???如果使用代码设置,则需要触发事件manualy@A.Wolff你所说的手动事件是什么意思?对不起,这是我第一次听到这样的术语,例如:$'myTextbox'.val'something'.trigger'input';事实上,我指的是程序化的,而不是手动的。但如果您提供了有问题的最低限度的样本复制问题本身,您的问题就已经解决了。这至少可以避免很多混乱,因为您不清楚您在问什么。这是否会被放置在模式js中以填充输入字段?我不能改变那部分的任何东西。我只能创建自己的函数来检查字段何时填充或更改。这是我能做的最好的了,因为这是一个有点冗长的html,我只是想给出一些要点。这个模态可能会暴露一些事件,或者你可以将你自己的事件绑定到模态元素。同样,尝试为MCVE提供最低限度的相关代码,这样会更容易找到相关答案。那么如何更改输入值???如果使用代码设置,则需要触发事件manualy@A.Wolff你所说的手动事件是什么意思?对不起,这是我第一次听到这样的术语,例如:$'myTextbox'.val'something'.trigger'input';事实上,我指的是程序化的,而不是手动的。但如果您提供了有问题的最低限度的样本复制问题本身,您的问题就已经解决了。这至少可以避免很多混乱,因为您不清楚您在问什么。这是否会被放置在模式js中以填充输入字段?我不能改变那部分的任何东西。我只能创建自己的函数来检查字段何时填充或更改。这是我能做的最好的了,因为这是一个有点冗长的html,我只是想给出一些要点。这个模态可能会暴露一些事件,或者你可以将你自己的事件绑定到模态元素。同样,尝试向MCVE提供最低限度的相关代码,这样会更容易找到相关的答案。它已经在文档中准备好了,并且仍然没有被触发。谢谢,它已经在文档中准备好了,仍然没有被触发。非常感谢。