我有一个链接到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();