强制元素隐藏在文本框外部的单击上

时间:2016-05-23 19:40:07

标签: javascript jquery

这就是我所拥有的:

$(document).ready(function () {
$('#H-Alert').hide();

$('html').click(function (e) {
    if (e.target.className == '.h-textbox') {
        $('#H-Alert').show();
    }
    else {
        $('#H-Alert').hide();
    }
});
});

我引用了这个:

Reference

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您可能正在寻找blurfocus事件。您可以使用jQuery执行此操作,如下所示:

$('#H-Alert').hide();
$(window).ready(function(){
    $('.h-textbox').blur(function(){
      $('#H-Alert').show();
    }).focus(function(){
      $('#H-Alert').hide();
    });
});

答案 1 :(得分:1)

对于进入或离开文本框的事件,@ meltuhamy的解决方案可能会更好,但如果您想直接使用这些事件,可以使用:

$(document).click(function(event) {
    if($(event.target).closest(".h-textbox").length == 0) {
        if($("#H-Alert").is(":visible")) {
            $("#H-Alert").hide();
        } else {
            $("#H-Alert").show();
        }
    }
});