将文本输入到字段并在文本被删除时再次显示
问题描述:
隐藏div当有人开始在搜索字段中输入文本时,我使用下面的代码隐藏div。将文本输入到字段并在文本被删除时再次显示
$('#search').keypress(function() {
$('#hello').hide();
$(this).focus();
});
我的问题是,我不知道怎样才能当文本在搜索字段中被清除,我再次显示隐藏的股利。 有人可以帮助或引导我吗?
答
下面是代码,使其工作
$('#search').keyup(function() {
if($(this).val() == ''){
$('#hello').show();
}else{
$('#hello').hide();
}
});
这里更新JSFiddle代码
答
您可以测试是否字段为空(当KEYUP代替):
$('#search').keyup(function() {
if($(this).val() == ''){
$('#hello').show();
}
else{
$('#hello').hide();
$(this).focus();
}
});
答
$('#search').keyup(function() {
var searchTerm = $(this).val();
var searchTermLength = searchTerm.length;
if (searchTermLength == 0) {
$('#hello').show()
} else {
$('#hello').hide()
};
});
答
$('#search').keyup(function() {
if ($("#search").val().length != 0) {
$('#hello').hide();
} else {
$("#hello").show();
}
});
答
这是否把戏
$('#search').keyup(function() {
$(this).val().length ? $('#hello').hide() : $('#hello').show();
});
答
使用更改()函数来代替,这是只有当字段的值已经完全改变调用。
$('#search').change(function() {
if($(this).val() == ''){
$('#hello').show();
}else{
$('#hello').hide();
}
});
+1
不.change()要求输入在被触发前失去焦点。这意味着直到文本输入被清除并且输入失去焦点后才会显示div。但我可能是错的。 – gavgrif
+0
是的,即使我感觉一样。只有当输入失去焦点时才会触发更改事件。 –
是的:)这是非常容易,但无法弄清楚!现在它工作完美 – George