我创建了一个jQuery占位符,它的作用类似于浏览器的chrome/firefox默认占位符,但不支持,但我无法获得placholder div的html更改速度一样快Chrome/Firefox的默认占位符如何更改。它只会在我放开键时发生变化,或者如果您按下某个键时它只会在输入中至少有2个字符时才会更改。我怎样才能解决这个问题?输入值不会马上改变jquery
<html>
<head>
<title>Place Holder</title>
<style media="screen" type="text/css">
input{
position:absolute;
top:4px;
left:4px;
background:transparent;
}
#default{
top:30px;
}
#ph{
color:LightGray;
}
</style>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
window.onload = function() {
$("#txt")
.keypress(function(){
if($('#txt').val().length > 0){
$('#ph').html('');
} else {
$('#ph').html('Custom Place Holder');
}
})
.keyup(function() {
if($('#txt').val().length > 0){
$('#ph').html('');
} else {
$('#ph').html('Custom Place Holder');
}
});
}
</script>
</head>
<body>
<div id="ph">Custom Place Holder</div>
<input id="txt" type="text" />
<input id="default" type="text" placeholder="Default Placeholder"/>
</body>
</html>
我使用定时器(setTimeout)解决了这个问题,但我不知道在这种情况下使用定时器是否是好的做法。 http://jsfiddle.net/HW7tK/10/ –