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

$('#SomeDiv').on({

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

}, '.MyTextBoxes');


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

但是,如果我这样写:

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


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

关于如何改变这一点的任何想法吗?

感谢您的建议。

最佳答案

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

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

08-25 10:03