选择文件时div隐藏

时间:2014-07-30 09:03:46

标签: javascript jquery html

我使用以下代码隐藏div,如果在div外部点击。但我在该div中有一个表单,其中有一个输入类型file.so当我选择一个文件时,该框消失,因为它在外面点击div。

$(document).mouseup(function (e){
    var container = $("body #new_discuss_form");
    if (!container.is(e.target) // if the target of the click isn't the container...
        && container.has(e.target).length === 0) // ... nor a descendant of the container
    {

        container.hide();
    }
});    

2 个答案:

答案 0 :(得分:1)

id="fileInput"分配给您的输入类型文件并使用以下代码:

$(document).mouseup(function (e){
var container = $("body #new_discuss_form");
if (!container.is(e.target) // if the target of the click isn't the container...
    && container.has(e.target).length === 0 // ... nor a descendant of the container
    && e.target.id!="fileInput")// if not input file
{

    container.hide();
}

答案 1 :(得分:0)

您可以使用以下功能来实现这一目标。

function hideDivOutsideClick( clickedElem ){

     var divElemId  = '#new_discuss_form';
     var divElem    = $(divElemId);
     var parentElem = $(clickedElem).closest(divElemId);

     if(parentElem.length == 0 ){  //clicked element is not inside the div
          divElem.hide();
     }
}

$(document).mouseup(function (event){
     var clickedElem = $(event.target);
     hideDivOutsideClick(clickedElem);
});