【发布时间】:2012-05-15 09:29:43
【问题描述】:
以下代码:在 FF 中不会触发单击事件(关闭登录框)(但是 webkit-browser 工作。而且 slideToggle click 事件在所有浏览器中都有效)。有人知道为什么吗?
非常感谢您的帮助!
HTML
<div class="loginbox" id="loginbox">
<div class="loginbox_close" id="loginbox_close"></div>
...
<input type="button" value="Login" class="btn_login"></div>
</div>
jQuery
>$(document).ready(function() {
$('#menu').on('click', '#menu_login', function() {
alert('test'); // this DOES fire, works in all browsers
$('#loginbox').slideToggle(240,'swing');
});
$('#loginbox').on('click', '#loginbox_close', function() {
alert('test'); // does not fire in FF, however webkit browser work!
$('#loginbox').slideUp(240,'swing');
});
});
CSS
.loginbox {
width:164px;
padding:10px 18px 14px 18px;
border:1px solid #CCC;
border-top:0px;
position:absolute;
margin-left:780px;
background:#678;
opacity:0.9;
box-shadow:inset 20px 40px 80px 4px #789,0 2px 8px #ABC;
}
.loginbox_close {
width:20px;
height:20px;
float:right;
background:#EEE;
cursor:pointer;
position:absolute;
margin-left:150px;
}
【问题讨论】:
-
登录框的高度是多少?是 display:block 还是 inline?
-
@Daniel Ruf:这是整个css,所以没有定义高度......在我有一个最小高度之前,但是然后slideToggle事件在那一点停止了几毫秒......
-
@DanielRuf:谢谢,有趣的一点......我尝试添加一个高度属性,但不幸的是它没有改变任何东西......所以,同样的结果......
-
您是否尝试将该代码放在文件末尾?
-
@DanielRuf:杰米的回答解决了这个问题,谢谢丹尼尔! :)
标签: events javascript-events onclick jquery