JSFiddle - React, Tailwind, and code Playground
JavaScript
(function (b) {
function d(a) {
this.input = a;
a.attr("type") == "password" && this.handlePassword();
b(a[0].form).submit(function () {
if (a.hasClass("placeholder") && a[0].value == a.attr("placeholder"))a[0].value = ""
})
}
d.prototype = {show:function (a) {
if (this.input[0].value === "" || a && this.valueIsPlaceholder()) {
if (this.isPassword)try {
this.input[0].setAttribute("type", "text")
} catch (b) {
this.input.before(this.fakePassword.show()).hide()
}
this.input.addClass("placeholder");
this.input[0].value = this.input.attr("placeholder")
}
}, hide:function () {
if (this.valueIsPlaceholder() && this.input.hasClass("placeholder") && (this.input.removeClass("placeholder"), this.input[0].value = "", this.isPassword)) {
try {
this.input[0].setAttribute("type", "password")
} catch (a) {
}
this.input.show();
this.input[0].focus()
}
}, valueIsPlaceholder:function () {
return this.input[0].value == this.input.attr("placeholder")
}, handlePassword:function () {
var a = this.input;
a.attr("realType", "password");
this.isPassword = !0;
if (b.browser.msie && a[0].outerHTML) {
var c = b(a[0].outerHTML.replace(/type=(['"])?password\1/gi, "type=$1text$1"));
this.fakePassword = c.val(a.attr("placeholder")).addClass("placeholder").focus(function () {
a.trigger("focus");
b(this).hide()
});
b(a[0].form).submit(function () {
c.remove();
a.show()
})
}
}};
var e = !!("placeholder"in document.createElement("input"));
b.fn.placeholder = function () {
return e ? this : this.each(function () {
var a = b(this), c =...