我想打開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'''來點擊提交'''e.stopPropagation();'''將阻止你的表單提交。 – 2014-10-01 16:12:09
@codenamejames如果你點擊'#email-signup',那麼根本沒有'stopPropagation',所以你會沒事的。 'stopPropagation'只會阻止事件冒泡DOM。除非您的提交按鈕是'#email-signup'的父母,否則您的示例永遠不會成爲問題。 – 2014-10-01 16:54:26
蒙太奇你是對的。感謝您的反饋:-) – 2014-10-01 17:19:53