1

我在这个网站上工作

我遇到的问题是输入密码: 在此处输入图像描述

当您在IE9和其他浏览器(如 Chrome 和 mozilla)上单击它时,文本会更改,因此您可以输入密码。

但这在 IE8 上不会发生,如果你点击它,文本就会一直停留在那里,所以我无法输入通行证。

这是我的输入代码:

<input class="login_modal password" type="text" value="Contraseña" onfocus="this.type='password';this.value=''" onblur="if(this.value == ''){this.type='text';this.value='Contraseña';}" />

有什么想法让它可以跨浏览器和 Ie8 工作吗?

4

3 回答 3

2

您可以像这样使用 jquery:

var defaultVal = 'Contraseña';


$('.password').on('focus', function(){
     var $this = $(this);
     var valOfThisBox = $this.val();

     if(valOfThisBox === '' ){
        this.val(defaultVal);
     }else{
        this.attr('type','password').val('');
     }
});
于 2013-05-21T12:03:16.007 回答
0

您可以使用 css 选择器焦点:

loginModal password:focus, loginModalPassword.focus { loginmodalpassword.type='password' }
于 2013-05-21T12:02:04.197 回答
0

我前段时间使用jQuery编写了这个函数

用法:_describeInput($("#idOfYourInputField"));

选择:_describeInput($("input[name=NameOfYourInputField]"));

您可能想要更改正在应用的颜色,这是一个用于深色背景网站的快速草稿。对我来说效果很好。

function _describeInput(_field=false)
{
if (!$(_field)) { return false; }

$(_field).unbind();

$(_field).focus(function(){
    $(this).val(($(this).val()==$(this).attr("description"))?"":$(this).val());
    $(this).css({"color":"white"});
});

$(_field).focusout(function(){
    $(this).css({"color":(($(this).val()==$(this).attr("description"))?"gray":"white")});           
    $(this).val(($(this).val()=="")?$(this).attr("description"):$(this).val());
});

$(_field).css({"color":"gray"}).attr("description",$(_field).val());
}    
于 2013-05-21T12:04:55.087 回答