当用户在“输入”上输入并转到下一个div时,如何隐藏div

时间:2013-08-02 11:28:39

标签: javascript jquery

这是我的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本身没有任何用户的操作,就在网站加载之后。 怎么了?

2 个答案:

答案 0 :(得分:1)

DEMO HERE

$(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。

或者将它放在函数中,如果你想要它发生,而不是在页面加载时。