我想将单词的第一个字母改为大写。所以,我在keyup()
函数上编写了一些代码。
每当我在文本字段中输入内容时,Word的第一个字母就会变为大写字母。
我也使用autocomplete()
功能。问题是,每当我从自动完成下拉选择一个单词时,它的第一个字母不会变为大写,并且最后一个文本框也会自动聚焦。
仅供参考:我在自动填充选择后触发keyup()
功能。
jsfiddle:http://jsfiddle.net/8ke04mgs/5/
答案 0 :(得分:0)
您可以在文本框中使用更改事件
$(document).on('change', 'inputBox', function() {
// Does some stuff and logs the event to the console
});
这将解决自动填充问题
答案 1 :(得分:0)
如果在更新框的值后调用您提供给自动填充库的select方法,那么您当前的处理方式将完美地运行。 但它不是,它之前被调用过,因此它大写的值是旧值,并且无论如何立即被自动完成替换。
正如@Alok指出的那样,你可以使用'更改'等待一段时间的事件。
为避免将您的事件处理程序写出两次,请记住.on()
可以接受多个事件,因此我只需在keyup上调用它并进行更改
$('#element').on('keyup change', function() {
...
});
但我认为在现代浏览器中'改变'应该够了。