1

我有一个文本框,它链接到这样的 jquery 事件处理程序:

$('#SomeDiv').on({

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

}, '.MyTextBoxes');

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

但是,如果我这样写:

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

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

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

感谢您的建议。

4

1 回答 1

7

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

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

于 2012-08-07T16:34:40.260 回答