Jquery没有在ff工作

时间:2013-12-23 12:31:22

标签: jquery firefox browser cross-browser toggleclass

我知道关于这个主题已经有很多主题,但我还没有找到任何有用的内容。 我有一个jquery代码来显示和隐藏div。

在Chrome中,这工作正常,在FireFox中它不是

我在chrome中检查了我的控制台,说'event.returnValue已被弃用。请改用标准的event.preventDefault()。'

但我没有event.returnValue。 此建议也无效(event.preventDefault)

这是我的js:

<script>
$(document).ready(function(){
    $(".aanmelden_event").click(function(){
        event.preventDefault();
        $(".event_subscribe").toggleClass("uitgeklapt");
    });
});
</script>

这是我的css:

.event_subscribe{
    height: 0px;
    overflow:hidden;
    transition: all 2s;
    -webkit-transition: all 2s; /* Safari */
}

还有额外的课程:

.event_subscribe.uitgeklapt{
    height: 800px;

}

我认为这是我的jquery中的东西,与event.preventDefault有关。 我还试过e.preventdefault和其他主题的其他一些建议的解决方案。 不幸的是,它没有工作。

有人知道我在做错了什么吗? 我使用jquery-1.10.2.min.js btw。

由于

1 个答案:

答案 0 :(得分:6)

您尚未接受函数中的event参数:

<script>
$(document).ready(function(){
    $(".aanmelden_event").click(function(event){
    // Here -----------------------------^
        event.preventDefault();
        $(".event_subscribe").toggleClass("uitgeklapt");
    });
});
</script>

因此,event未定义,并且该代码在切换类之前抛出。您应该在控制台中列出ReferenceError时出错,因为您试图读取未声明变量的值。

它在其他一些浏览器中工作的原因是有一个全局event对象(最初在IE中,然后由Chrome提供,其他一些与IE编写的脚本兼容)。 Firefox没有这样做,没有全局event