在jquery上不触发Onchange输入事件

时间:2012-03-21 13:04:23

标签: jquery onchange

我正在使用jquery。

我在表单中输入了文本,我想处理更改事件。

$("#my_input").change(function(){alert('123');});

当我手动编辑字段时,事件会正常触发,但是当我使用脚本(有时使用外部脚本)更改字段的值时,它不起作用。

有什么解决方案吗?

并提前致谢。

4 个答案:

答案 0 :(得分:11)

更改事件不是为检测程序化更改而设计的。但是,您可以在设置值时手动触发事件:

$('#my_input').trigger('change');

快捷键:

$('#my_input').change();

答案 1 :(得分:0)

使用以下两个功能之一手动触发它们:

$('#my_input').trigger('change');
$('#my_input').change();

答案 2 :(得分:0)

您可以使用live / delegate绑定您的更改事件

$("#my_input").live('change',function(){alert('123');}); 

答案 3 :(得分:0)

这是代码

$("input[type='text']").change( function() {
  // check input ($(this).val()) for validity here
});