这是我的HTML:
<div id="word1"><input type="text" class="Q"></input><input type="text" class="A"></input></div><br>
<div id="word2"><input type="text" class="Q"></input><input type="text" class="A"></input></div><br>
我想这样做,如果用户在Q输入上输入内容并在A输入上执行相同操作,最近使用的div,fadeOut;)
我的javascript:
var nowWord = 1;
var focusOuts = 0;
$(document).ready(function() {
$("#word" + nowWord + " > .Q").focusout(divFocusOut());
$("#word" + nowWord + " > .A").focusout(divFocusOut());
function divFocusOut(){
focusOuts++;
if(focusOuts == 2){
$("#word" + nowWord).fadeOut(1000);
focusOuts = 0;
}
}
});
问题是:div fadeOut本身没有任何用户的操作,就在网站加载之后。 怎么了?
答案 0 :(得分:1)
$(document).ready(function(){
$(".Q,.A").blur(function(e){
if($(this).val().length>0 && $(this).siblings("input").val().length>0){
$(this).parent().fadeOut(1000);
}
});
});
答案 1 :(得分:-1)
$("#word" + nowWord + " > .Q").focusout(divFocusOut());
$("#word" + nowWord + " > .A").focusout(divFocusOut());
没有用户操作即可。如果你在这里设置css没有淡入淡出,问题就消失了。或者只是在没有javascript的情况下设置CSS。
或者将它放在函数中,如果你想要它发生,而不是在页面加载时。