我得到了一个有用的jQuery代码,不幸的是,它在Firefox中运行良好,但在IE中却无法,任何人都无法分辨出问题所在以及如何在IE中执行相同的操作。
谢谢,
保罗
我的代码如下
的HTML
<input name="status" id="status" value="Type something here" type="text"/>
的CSS
#status{
width:150;
padding:5px;
outline:none;
height:20px;
}
.focusField{
border:solid 2px #73A6FF;
background:#EFF5FF;
color:#000;
}
.idleField{
background:#EEE;
color: #6F6F6F;
border: solid 2px #DFDFDF;
}
jQuery查询
<script type="text/javascript">
$(document).ready(function() {
$('input[type="text"]').addClass("idleField");
$('input[type="text"]').focus(function() {
$(this).removeClass("idleField").addClass("focusField");
if (this.value == this.defaultValue){
this.value = '';
}
if(this.value != this.defaultValue){
this.select();
}
});
$('input[type="text"]').blur(function() {
$(this).removeClass("focusField").addClass("idleField");
if ($.trim(this.value == '')){
this.value = (this.defaultValue ? this.defaultValue : '');
}
});
});
</script>
最佳答案
尝试这个:
<script type="text/javascript">
$(document).ready(function() {
var $input = $("#status"),
defaultVal = $input[0].defaultValue;
$input.addClass("idleField");
$input.focus(function() {
$input.toggleClass("idleField focusField");
if ($input.val() === defaultVal) { $input.val(""); }
else { $input.select(); }
});
$input.blur(function() {
$input.toggleClass("focusField idleField");
if ($.trim($input.val()) === "") { $input.val(defaultVal); }
});
});
</script>
关于javascript - 输入样式在IE中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5505110/