jQuery单击/打开(单击)事件不会在FF中触发?

Chr*_*ris 4 jquery events onclick javascript-events

下面的代码:一次点击事件(关闭登录框)不会在FF中激活(但webkit浏览器工作.并且slideToggle点击事件也适用于所有浏览器).有人有什么想法吗?

非常感谢您的帮助!

HTML

<div class="loginbox" id="loginbox">
    <div class="loginbox_close" id="loginbox_close"></div>
    ...
    <input type="button" value="Login" class="btn_login"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

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');
    });
});
Run Code Online (Sandbox Code Playgroud)

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;
    }
Run Code Online (Sandbox Code Playgroud)

Jam*_*xon 5

因为您使用的是委托事件,所以点击只会在冒泡时触发#loginbox_close.

以下是您的代码的工作示例,其中#loginbox_close以红色标出.单击此框,您将看到活动正常.

而且这里有一个更全面的版本直接使用你的代码从上面用红色边框加也.