2
我想擁有文本和密碼輸入字段的佔位符。除了Internet Explorer之外,我可以做到這一點。如何才能做到這一點?也許jquery?特別對於密碼,我希望佔位符說「密碼」。一旦輸入被點擊,其中的文本將顯示爲密碼文本。謝謝! :)如何修復Internet Explorer的佔位符?
我想擁有文本和密碼輸入字段的佔位符。除了Internet Explorer之外,我可以做到這一點。如何才能做到這一點?也許jquery?特別對於密碼,我希望佔位符說「密碼」。一旦輸入被點擊,其中的文本將顯示爲密碼文本。謝謝! :)如何修復Internet Explorer的佔位符?
IE9 +假設支持佔位符,但我發現情況並非如此。有幾種方法可以「假裝」擁有佔位符。我發現在IE上擁有佔位符外觀/感覺的最佳方式是創建一個jquery函數,在輸入框後面添加一個div(使輸入框透明)並顯示您想要顯示的文本。然後當輸入或數據出現時,A顯示:無div或不透明輸入框。
其他人將文本放在輸入字段中,但這可能會帶來驗證的麻煩,並且您可以找到密碼字段。
類似:
// Check browser type so we don't mess with other browsers that do this right
if (BrowserDetect.browser === 'Explorer') {
// Find all placeholders
$('[placeholder]').each(function(_index, _this) {
var $this = $(this);
var id = this.id;
var thisValue = $this.val();
var value = $this.attr('placeholder');
var $element = $('#' + id + '_ph');
if ($element.length === 0) {
// Add placeholder if no input you want to add it even if value in case they remove value
$this.attr('placeholder', '');
// Add the div (make sure you style ie_placeholder_fix
// class with correct positioning etc)
$('<div id="' + id + '_ph" class="ie_placeholder_fix">' + value + '</div>').insertAfter($this);
}
//Maybe you want to hide if it has a value?
if (thisValue) { $element.hide(); } else { $element.show(); }
$this.blur(checkForInput);
});
}
您只需要檢查他們是否有一個值是否隱藏DIV如果值是預先填充(即一個可編輯的形式)
的可能重複[輸入佔位符的Internet Explorer](http://stackoverflow.com/questions/5522164/input-placeholders-for-internet-explorer) –
*密碼*不是一個有用的佔位符,它聽起來像你試圖濫用它作爲一個代替'