我已经看到了几十个与此类似的问题,我已经彻底搜索了数据库,但我找不到与我的问题相同的问题。
显示/隐藏div(切换)搜索按钮工作正常,“在外部点击时隐藏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);
}
);
答案 0 :(得分:1)
为了保持一致的行为,请注册点击事件,而不是注册切换事件,而是使用toggle()
代替show / hide方法来切换可见性。
// 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);
});