jQuery单击+ if + bind

时间:2013-08-01 13:10:11

标签: jquery function if-statement click bind

如果搜索字段获得空值,我试图显示工具提示。 显示工具提示后,我想将点击功能绑定到正文以再次隐藏工具提示。但由于某些原因,在将click命令添加到click函数后,工具提示甚至不会出现。我已经检查了控制台,但没有任何结果。 这是我的代码:

$('#search_top .search_click').click(function() {
    if($('#search_top #suchfeld').val() == '') {
        $('.search_tooltip, .search_tooltip:after').css('display', 'block');
        $('.search_tooltip, .search_tooltip:after').addClass('active');
        $('body').bind('click', closeTip);
    }
    else {
        $('#search_top').submit();
    }
});


function closeTip() {
        $('.search_tooltip, .search_tooltip:after').css('display', 'none');
}

有人有个主意吗?

2 个答案:

答案 0 :(得分:1)

我不会使用这种代码,但似乎是你在寻找的东西:

$('#search_top .search_click').click(function (e) {
    e.stopPropagation();
    if ($('#search_top #suchfeld').val() == '') {
        $('.search_tooltip').show().addClass('active');
    } else {
        $('#search_top').submit();
    }
});

$(function () {
    $('body').bind('click', closeTip);
});

function closeTip() {
        $('.search_tooltip').hide();
}

答案 1 :(得分:0)

使用Javascript无法访问

:before:after(以及其他伪元素)。您应该按照以下精神更改父对象的类:

div:before {
  content: 'Lorem ipsum';
  display: none;
}

div.active:before {
  display: block;
}