这在 Chrome 中效果很好,但不幸的是,这在 Firefox 中似乎并不可靠。我能够解决这个使用模糊的解决方案。似乎适用于所有浏览器。
HTML
<label>Address 1</label>
<input name="addressaddress1" id="addressaddress1" value=""
size="25" />
<label>Address 2</label>
<input name="addressaddress1" id="addressaddress1" value=""
size="25" />
Javascript
$.fn.capitalize = function (e) {
$.each(this, function () {
if( $('body').data(this.id) != this.value )
{
var split = this.value.split(' ');
for (var i = 0, len = split.length; i < len; i++) {
split[i] = split[i].charAt(0).toUpperCase() + split[i].slice(1);
}
this.value = split.join(' ');
}
});
return this;
};
$('[id^=address]').on('blur', function (e) {
$(this).capitalize();
});
http://jsfiddle.net/bsegovia/V4ATc/31/
更新!!这个先前的解决方案没有解决所有大写输入。请参阅此 jsfiddle 以获取更正的脚本。http://jsfiddle.net/bsegovia/V4ATc/