UNPKG

@atlassian/aui

Version:

Atlassian User Interface Framework

67 lines (59 loc) 2.16 kB
(function (global, factory) { if (typeof define === "function" && define.amd) { define(['../jquery', '../binder'], factory); } else if (typeof exports !== "undefined") { factory(require('../jquery'), require('../binder')); } else { var mod = { exports: {} }; factory(global.jquery, global.binder); global.placeholder = mod.exports; } })(this, function (_jquery, _binder) { 'use strict'; var _jquery2 = _interopRequireDefault(_jquery); var _binder2 = _interopRequireDefault(_binder); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } (function () { // browser supports placeholder, no need to do anything var temp = document.createElement('input'); if ('placeholder' in temp) { return; } /** * Displays default text in the input field when its value is empty. * If the browser supports placeholder input attributes (HTML5), then * we skip this component. * * Usage: * <pre> * &lt;input placeholder='Some default text'&gt; * </pre> * * Events thrown: reset.placeholder */ _binder2.default.register('placeholder', { selector: 'input[placeholder]', run: function run(element) { var $this = (0, _jquery2.default)(element); var applyDefaultText = function applyDefaultText() { if (!_jquery2.default.trim($this.val()).length) { $this.val($this.attr('placeholder')).addClass('placeholder-shown').trigger('reset.placeholder'); } }; applyDefaultText(); $this.blur(applyDefaultText).focus(function () { if ($this.hasClass('placeholder-shown')) { $this.val('').removeClass('placeholder-shown'); } }); } }); })(); }); //# sourceMappingURL=placeholder.js.map