Javascript:输入框-自动大写第一个字母,但可以重写
Javascript: input box - autocapitalize first letter but can override
我有一个名称输入框。我想在用户键入时自动将名称的第一个字母大写,但允许用户覆盖名称的更改,如"de Salis"。
我在这里看到,这在CSS中是不可能的,因为text-transform:capitalize;
将大写每个单词,并且不能被覆盖。
.keyup
处理程序可以在您键入时修复第一个字母,这里有很多解决方案。
我看不出最初的资本化是如何轻易被高估的。我想我需要一个标志,但如果函数是一个可以附加到多个元素的函数,标志应该放在哪里?我可以附加一个DOM元素作为标志,但这看起来很难看。
在这里可以找到非覆盖模型的小提琴。
建议?
要使输入框仅显示第一个大写字母,您可以直接使用keyCode
,因为它始终是大写格式。
仅此一点就可以减轻您使用的昂贵regex
和.replace()
方法的需求。
jQuery:
$('.auto').one('keyup', function(e) {
$(this).val(String.fromCharCode(e.keyCode));
});
参考:jsFiddle
以下答案已修改为包括Tab Key
要求,单击输入框内部并通过上下文菜单进行粘贴,使用键盘粘贴方法(Ctrl+V),然后直接键入。它取消了字符keyCodes
,因此国际支持得到认可。jQuery选择器是在此处获得的。
RE修订:jsFiddle(提交时不强制使用大写字母。)
相关文章:
- 使用数据上的角度更改设置集合的第一个元素的动画
- 当单击第一个李时,它显示内容一,当单击第二个李时,它显示内容二
- 字母计数:返回重复字母数最多的第一个单词
- 如何使用Javascript在HTML表中查找第一个空行
- 分页:如何用AJAX加载第一个页面
- 全局标志仅与第一个匹配项匹配的Regexp
- 访问ng repeat中的第一个项目
- 使用jQuery只返回选中复选框后的第一个表单元格值
- 使用jQuery插入HTML页面的第一个项目缺少结束标记
- 关闭第二个事件源上的第一个事件源's onopen方法
- 无法获取vis.js最后一个或第一个选定的网络节点
- 如何设置第一个手风琴面板关闭
- 使用filter和map方法将数组中某些元素的第一个字母大写-JavaScript
- jQuery空选择,但不是第一个选项
- JavaScript Regex 将单词替换为其第一个字母,除非在括号内
- 在Jquery中选择第一个搜索项而不单击它
- Thunderbird,如何以编程方式选择第一个选项卡
- 第一个字第一个字符第二个字第二个字符,一直到数组结束
- Spring WebFlow2 Javascript只在第一个单选按钮上工作
- Javascript:输入框-自动大写第一个字母,但可以重写