在以编程方式更改内容时检测文本框更改

时间:2012-08-07 16:31:52

标签: jquery

我有一个链接到jquery事件处理程序的文本框,如下所示:

$('#SomeDiv').on({

   mouseenter: ....
   mouseleave: ....
   blur: ....
   keyup: function() { HandlerForKeyUp($(this)); } ,
   change: function() { HandlerForKeyUp($(this)); } 

}, '.MyTextBoxes');

基本上,HandlerForKeyUp是一个显示文本框中字母数的计数器的函数。当用户输入时,它可以正常工作。

但是,如果我这样写:

$('#SomeTextBox').val(SomeValue);

HandlerForKeyUp函数没有触发,即使我在change处理程序中映射出.on事件而SomeTextBox属于类MyTextBoxes并且对所有其他事件作出反应。基本上,如果用户键入计数器,但如果我在运行时设置文本框的值,则不会触发计数器功能。

我对如何改变这个有任何想法?

感谢您的建议。

1 个答案:

答案 0 :(得分:7)

您需要手动触发更改事件。

$('#SomeTextBox').val(SomeValue).change();