JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<input type="password" placeholder="Password" id="password" class="masked" name="password" />
<i class="fa fa-eye" id="eye"></i>
JavaScript
function show() {
var p = document.getElementById('password');
p.setAttribute('type', 'text');
}
function hide() {
var p = document.getElementById('password');
p.setAttribute('type', 'password');
}
var pwShown = 0;
document.getElementById("eye").addEventListener("click", function () {
if (pwShown == 0) {
pwShown = 1;
document.getElementById("eye").classList.add("fa-eye-slash");
document.getElementById("eye").classList.remove("fa-eye");
show();
} else {
pwShown = 0;
document.getElementById("eye").classList.add("fa-eye");
document.getElementById("eye").classList.remove("fa-eye-slash");
hide();
}
}, false);