2014-11-05 83 views
0

我已经看到了几十个与此类似的问题,并且我已经彻底搜索了数据库,但是我找不到与我的问题相同的问题。显示/隐藏div的问题 - 点击外部div来隐藏它时,需要再次点击两次以再次显示

显示/隐藏DIV(切换)搜索按钮完美的作品,而“点击它外面时隐藏格”也是如此

的问题是,如果你在节目中键单击再次,它不反应,你必须点击搜索按钮两次再次打开div。

只有当您通过单击外部关闭div时,才会发生这种情况,然后尝试通过单击搜索按钮再次打开它。

我有一种感觉,这个问题是由于多次调用相同的功能..但不知道,任何帮助将不胜感激! :-)

jQuery代码我使用:

//Open close search div 


    $("#search-form-test").toggle( 

    function(){ 

    $(".alias-search-form").show(800); 
    }, 

    function(){ 
    $(".alias-search-form").hide(800); 

    } 
    ); 


//Close search area when clicking outside of it 

    $(".block-type-content").click( 

    function(){ 

    $(".alias-search-form").hide(800); 

    } 

    ); 

回答

1

对于一致的行为,而不是针对触发事件注册,注册click事件,并使用toggle(),而不是显示/隐藏方法来切换能见度。

// HIDE SHOW SEARCH 
$("#search-form-test").click(function(e) { 
    e.preventDefault(); //To prevent default anchor tag behaviour 
    e.stopPropagation(); //To prevent parent container click event from firing 

    $(".alias-search-form").toggle(800); 
}); 

$(".block-type-content").click(function() { 
    $(".alias-search-form").hide(800); 
}); 
+0

太棒了,我从中学到了很多东西,这很有道理!谢谢你Shikhar! :-) – Capax 2014-11-05 13:14:23

相关问题