我使用以下代码来大写输入文本框的第一个字母。这首先工作正常,但是如果整个框被删除,再次输入后它将不会再次大写。
可以修复吗?
$(function () {
$('.userBox').one('DOMAttrModified textInput input keypress paste focus',
function (e) {
$(this).val($(this).val().slice(0, 1).toUpperCase() +
$(this).val().slice(1));
});
});
jsfiddle:http://jsfiddle.net/VBXbz/
更新了jsfiddle:http://jsfiddle.net/VBXbz/8/
答案 0 :(得分:5)
$(function () {
$('.userBox').on('DOMAttrModified textInput input keypress paste focus', function (e) {
$(this).val($(this).val().slice(0, 1).toUpperCase() + $(this).val().slice(1));
});
});
one
适用于您希望在最多执行
答案 1 :(得分:2)
.one
只会在页面中使用.on
进行一次事件:
$('.userBox').on('DOMAttrModified ....
$(function () {
$('.userBox').on('DOMAttrModified keypress',function (e) {
$(this).val($(this).val().slice(0, 1).toUpperCase() + $(this).val().slice(1));
}).on('focus',function () {
$(this).val('');
});
});