Я хотел бы открыть email-signup
, когда я нажимаю на email-signup-link
. Тогда я хотел бы закрыть его, щелкнув в любом месте страницы, кроме самого окна, конечно.jQuery Закрыть DIV, щелкнув в любом месте на странице
Я осмотрел этот сайт и есть различные решения для этой проблемы, но каждый, который я пробовал, показывает, а затем скрывает мой div мгновенно. Я должен делать что-то неправильно.
Это HTML:
<a href="#" id="email-signup-link">Sign Up</a>
<div id="email-signup">
<div id="inner">
<h2>E-mail Notifications</h2>
<input class="" type="text" name="description" placeholder="Enter your e-mail address" id="description" />
<a href="#">Sign Up</a>
</div>
</div>
Это мой Javascript:
$('#email-signup').click(function(){
e.stopPropagation();
});
$("#email-signup-link").click(function() {
e.preventDefault();
$('#email-signup').show();
});
$(document).click(function() {
$('#email-signup').hide();
});
Просто возглавляет '' 'e.stopPropagation();' '' иногда может вызывать нежелательные события. поэтому скажите, если вы нажмете '' '# email-signup''' с намерением нажать submit' '' e.stopPropagation(); '' 'будет препятствовать отправке вашей формы. –
@codenamejames Если вы нажмете на '# email-signup', то вообще нет' stopPropagation', так что с вами все будет в порядке. 'stopPropagation' останавливает событие только от пузыря DOM. Если ваша кнопка отправки каким-то образом является родителем '# email-signup', ваш пример никогда не будет проблемой. –
Монтаж Вы правы. спасибо за отзыв :-) –