title: Javascript: input box - autocapitalize first letter but can override
body: <p>I have a name input box. I would like to auto-capitalise the first letter of the name as the user types, but allow the user to override the change for names such as "de Salis".</p>
  
  <p>I see <a href="https://stackoverflow.com/questions/3046284/how-can-i-capitalize-the-first-letter-of-an-input">here</a> that this is impossible with CSS, because <code>text-transform:capitalize;</code> will capitalise every word and can't be overridden.</p>
  
  <p>A <code>.keyup</code> handler can fix up the first letter as you type, and there are a bunch of solutions found <a href="https://stackoverflow.com/questions/2017456/with-jquery-how-do-i-capitalize-the-first-letter-of-a-text-field-while-the-user">here</a> to do that.</p>
  
  <p>What I can't see how the original capitalisation can be overriden easily. I guess I need a flag, but if the function is one that can be attached to multiple elements, where should the flag live? I could append a DOM element as a flag, but this seems pretty ugly.</p>
  
  <p>A fiddle of the non-override model is found <a href="http://jsfiddle.net/tpgHx/" rel="nofollow noreferrer">here</a>.</p>
  
  <p>Suggestions?</p>