对于登录表单,我尝试在没有任何标签的情况下构建它并使用占位符文本,以便用户知道要输入什么。
问:如何修改下面的代码,使密码仅显示为占位符的可读文本。
注意:我也在使用密码掩码插件,所以它像 iphone 一样工作。作为 jsfiddle 的完整示例。
/**
* @preserve jquery.outofplace.js
* HTML5 placeholders for all browsers
* Copyright (c) 2010 timmy willison
* Dual licensed under the MIT and GPL licenses.
* http://timmywillison.com/licence/
*/
$.fn.outOfPlace = function (opts) {
opts = $.extend({
// Gives you control over the submit function if needed
// The default function removes the placeholder before
// submitting the form in case the field is not required client-side
submit: function () {
$(this).find('input, textarea').each(function () {
var $input = $(this);
if( $input.val() === $input.data('placeholder') ) {
$input.val('');
}
});
return true;
},
// The placeholder class for setting
// placeholder styles in your own css
// e.g. input.place { color: #666666; }
// This creates a lot more flexibility for you and
// keeps the js lightweight
placeClass: 'place'
}, opts);
/** Checks for browser autofill */
function check_autofill ( $input ) {
setTimeout(function() {
var v = $input.val();
if ( v === $input.data('placeholder') ) {
$input.addClass( opts.placeClass );
} else {
$input.removeClass( opts.placeClass );
}
}, 300);
}
return this.each(function () {
var $input = $(this),
defaultText = $input.attr('placeholder') || '';
// Set the placeholder data for future reference
$input.data('placeholder', defaultText);
// Attribute no longer needed
$input.removeAttr('placeholder');
// Focus and blurs, notice the class added and removed
$input.focus(function () {
if ( $input.val() === defaultText ) {
$input.val('').removeClass( opts.placeClass );
}
}).blur(function () {
if ( $.trim($input.val()) === '' ) {
$input.val( defaultText ).addClass( opts.placeClass );
}
}).blur()
// Bind the submit function
.closest('form').submit( opts.submit );
check_autofill( $input );
});
};