如果使用jQuery更改值,则jquery change()不起作用

我有一个文本输入字段,我已经只读取,因此用户无法输入。 我用jquery更新它的值。 所以基本上我希望在使用jQuery更改其值时触发事件。 下面是输入标记和jquery标记的示例。

 $('#textinput').change(function() { alert("It's Changed!"); }); 

你将无法做到这一点。 通过代码进行的更改不会触发事件。 您可以直接在代码中调用change

像这样的东西:

 // do stuff $('#textinput').val("something").change(); 

我认为’更改’事件仅在文本框失去焦点时触发。 因此,在更改代码中的值后,您需要执行此操作 –

 $('#textinput').trigger('change') 

演示 – http://jsfiddle.net/upS2x/1/

由于它是只读输入,因此无法输入,因此,更改,keyup,keydown和keypress对此输入无效。

话虽这么说,您应该将事件应用于确实更改输入文本的函数。 因此,如果input1更改textinput中的文本:

 $("#input1").keyup(function(){ $("#textinput").val($(this).val()); }); 

我希望有所帮助。