我有一个链接到jquery事件处理程序的文本框,如下所示:
$('#SomeDiv').on({
mouseenter: ....
mouseleave: ....
blur: ....
keyup: function() { HandlerForKeyUp($(this)); } ,
change: function() { HandlerForKeyUp($(this)); }
}, '.MyTextBoxes');
基本上,HandlerForKeyUp
是一个显示文本框中字母数的计数器的函数。当用户输入时,它可以正常工作。
但是,如果我这样写:
$('#SomeTextBox').val(SomeValue);
HandlerForKeyUp函数没有触发,即使我在change
处理程序中映射出.on
事件而SomeTextBox属于类MyTextBoxes
并且对所有其他事件作出反应。基本上,如果用户键入计数器,但如果我在运行时设置文本框的值,则不会触发计数器功能。
我对如何改变这个有任何想法?
感谢您的建议。
答案 0 :(得分:7)
您需要手动触发更改事件。
$('#SomeTextBox').val(SomeValue).change();