2010-05-28 4 views
6

У меня есть DIV внутри образуют нечто вродеJquery- Скрыть DIV

<form> 
<div> 
showing some information here 
</div> 

<div id="idshow" style="display:none"> 
information here 
</div> 

</form> 

я демографической информации внутри DIV (idshow) на какой-то кнопки мыши событие. что я хочу всякий раз, когда я плохо нажимаю на div (idshow), он должен быть спрятан. так же, как я нажимаю на меню, тогда меню отображается, и когда я нажимаю внешнее меню, он скрывается. Мне нужно все, что с помощью Jquery

ответ

11
$(document).click(function(event) { 
    var target = $(event.target); 

    // Check to see if the target is the div. 
    if (!target.is("div#idshow")) { 
    $("div#idshow").hide(); 
    // Prevent default event -- may not need this, try to see 
    return(false); 
    } 
}); 
3

Вы можете делать то, что вы хотите, как это:

$(document).click(function() { 
    $("#idshow").hide(); 
}); 
$("#idshow").click(function(e) { 
    e.stopPropagation(); 
}); 

Что здесь происходит, когда вы щелкаете, то click событие всплывает весь путь до document, если это туда прячется <div>. Когда вы нажимаете внутри этого <div>, вы можете остановить пузырь от подъема до document с помощью event.stopPropagation() ... так что .hide() не срабатывает, короткий и простой :)

Смежные вопросы