-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathjquery.infieldLabel.min.js
7 lines (7 loc) · 1.19 KB
/
jquery.infieldLabel.min.js
1
2
3
4
5
6
7
/**
* infieldLabel - A jQuery plugin that creates a compact, text-over-input, form layout while using semabtic HTML and preserving usability and accessibility.
* @version v1.1.0
* @link https://github.com/ten1seven/infieldLabel
* @license MIT
*/
!function(i){i.infieldLabel=function(n,l){var s=this;s.$el=i(n),s.$input=null,s.init=function(){s.options=i.extend({},i.infieldLabel.defaultOptions,l),s.setup()},s.setup=function(){s.$input=s.$el.find("input, textarea"),s.$label=s.$el.find("label"),s.$el.addClass("init"),s.blur(),s.bind()},s.bind=function(){s.$input.on("focus.infield",function(){s.$el.removeClass(s.options.hideClass).addClass(s.options.focusClass)}).on("blur.infield change.infield",function(){s.blur()}),s.$label.on("click.infield",function(){s.$el.removeClass(s.options.hideClass).addClass(s.options.focusClass),s.$input.focus()})},s.blur=function(){""!==s.$input.val()?s.$el.removeClass(s.options.focusClass).addClass(s.options.hideClass):s.$el.removeClass(s.options.focusClass+" "+s.options.hideClass)},s.init()},i.infieldLabel.defaultOptions={focusClass:"placeholder-focus",hideClass:"placeholder-hide"},i.fn.infieldLabel=function(n){this.each(function(){new i.infieldLabel(this,n)})}}(jQuery);