我对以下问题有疑问:
我有display:none
的div。一旦用户在输入字段中键入文本(使用jQuery show()方法),就会出现此div。一切正常,但一旦我删除输入字段中输入的文本,我希望DIV再次消失。我的尝试:
如果输入为空,则使用另一个function
和jQuery hide()
函数,但它会阻止使用show()的函数被触发(因为默认情况下输入显然为空)。
任何想法都会非常感激!
这是我的剧本:
function password1Security()
{
var pwd1 = document.getElementById("password1");
var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
var pwdsft = document.getElementById("passwordSafetyLevel1");
{
if (strongRegex.test(pwd1.value)){pwdsft.innerHTML = '<span style="color:green;">Safe</span>'} else if (mediumRegex.test(pwd1.value))
{pwdsft.innerHTML = '<span style="color:orange;">Quite Safe</span>'} else {pwdsft.innerHTML = '<span style="color:red;">Unsafe</span>'};
}
};
function passSafetyAppear1()
{$("#passwordSafety1").show()};
function showPassSafety1()
{
password1Security();
passSafetyAppear1();
};
</script>
<input name="password1" id="password1" type="password" size="15" maxlength="20" style="width:500px; height:30px;"
onKeyUp="showPassSafety1()"/>
<br/>
<span name="passwordSafety1" id="passwordSafety1" style="font-size:12pt; display:none;">Your password is <b
name="passwordSafetyLevel1" id="passwordSafetyLevel1"></b>.</span><br/>
提前谢谢你,
皮尔
答案 0 :(得分:1)
对模糊执行该操作(当输入失去焦点时)。使用这样的代码和适当的选择器来实现这个目的:
$('input-selector').blur(function(){
if(!$(this).val())
$('div-selector').hide();
});
答案 1 :(得分:0)
您可以按照以下方式执行某些操作: jsFiddle example 。
$('input').keyup(function() {
if ($(this).val().length > 0) $('div').show();
else $('div').hide();
});
答案 2 :(得分:0)
$('input-selector').keyup(function(){
if ($(this).val().length > 0)
$('div-selector').show();
else
$('div-selector').hide();
});
试一试......