Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A jQuery plugin to support HTML5's placeholder attribute in older browsers.
branch: master

Merge branch 'master' of

latest commit 420d603a0a
@mudge authored


jQuery Placeholder Plugin

A plugin to make HTML5's placeholder attribute work in non-HTML5 browsers.

This started as an attempt to simplify my jQuery Form Example plugin by delegating functionality to the browser where possible.


Simply use the placeholder attribute on your input and textarea tags and include jquery.placeholder.js somewhere in your page (you'll need jQuery as well, of course).


<input type="text" placeholder="Username">
<textarea placeholder="Comment here..."></textarea>

<script type="text/javascript" src=""></script>
<script type="text/javascript" src="jquery.placeholder.js"></script>

Placeholder values in non-HTML5 browsers will be given the CSS class of jquery_placeholder so you can style them to mimic other browsers' defaults which for Safari seems to be something like the following:

.jquery_placeholder { color: #aaa; }

If you want to customise the class name used, you'll have to stop the plugin from automatically running itself by commenting out $($.placeholder.backwardsCompatibility); towards the end of jquery.placeholder.js. You can then set the class name via $.placeholder.className and call backwardsCompatibility() yourself.


<script type="text/javascript" src=""></script>
<script type="text/javascript" src="jquery.placeholder.js"></script>
<script type="text/javascript">
  $.placeholder.className = 'myPlaceholderCSSClass';

All event handlers are namespaced with .placeholder so they can be unbound or triggered selectively:

  • unload.placeholder on the window;
  • blur.placeholder on the affected inputs;
  • focus.placeholder on the affected inputs;
  • change.placeholder on the affected inputs;
  • submit.placeholder on the affected forms.


Copyright (c) Paul Mucur (, 2010-2011. Licensed under the MIT license (see LICENSE.txt).

Something went wrong with that request. Please try again.