これは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/