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

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

$('#SomeDiv').on({ mouseenter: .... mouseleave: .... blur: .... keyup: function() { HandlerForKeyUp($(this)); } , change: function() { HandlerForKeyUp($(this)); } }, '.MyTextBoxes'); 

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

但是,如果我这样写:

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

HandlerForKeyUp函数不会触发,即使我认为我在.on处理程序中映射了change事件,SomeTextBox也是MyTextBoxes类,并对所有其他事件做出反应。 基本上,如果用户键入计数器,但如果我在运行时设置文本框的值,则不会触发计数器function。

关于如何改变这个的任何想法?

谢谢你的建议。

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

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