我使用HTLM5佔位符並添加了modernizr.js以使其在IE中工作。該代碼段爲:「密碼」在佔位符的IE中顯示爲「********」
<input type="password" placeholder="Password">
function hasPlaceholderSupport() {
var input = document.createElement('input');
return ('placeholder' in input);
}
$(document).ready(function(){
if(!Modernizr.input.placeholder){
$('[placeholder]').focus(function() {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
input.removeClass('placeholder');
}
}).blur(function() {
var input = $(this);
if (input.val() == '' || input.val() == input.attr('placeholder')) {
input.addClass('placeholder');
input.val(input.attr('placeholder'));
}
}).blur();
$('[placeholder]').parents('form').submit(function() {
$(this).find('[placeholder]').each(function() {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
}
})
});
}
});
它是爲其他瀏覽器工作正常,我想顯示在IE input type password
文本,而是它把佔位符的屏蔽字符。 "Password"
文本如何顯示。
我建議不要重新發明這個特殊的車輪,除非你真的喜歡車輪。 :) https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills – deceze
奇怪。我不應該在任何瀏覽器中工作,因爲只要它有type = password,它應該隱藏文本。你可以做的只是在輸入佔位符文本時添加attr('type','text'),並在刪除placeholde rtext時恢復它。 –
密碼字段實際上並不需要佔位符,只需給它一個標籤,告訴用戶它的用途。 – RobG