JS在Chrome中运行良好但在FireFox中运行不正常

时间:2017-07-25 17:55:27

标签: javascript jquery google-chrome firefox

这是一个简单的窗口滚动,当用户点击导航项时触发但是对于我的生活我似乎无法弄清楚为什么FF不会识别它,我读过类似的Q& A's但他们只建议定义var是我做过的第一次,任何帮助都会受到赞赏。

下面是代码:

$("#myNavbar a").on('click', function(){
var hash = this.hash;

//make sure this.hash has a value
if (hash !== ""){
    //prevent default anchor click behavior
    event.preventDefault();


    //use jQuerys animate() method to add smooth scroll
    $('html, body').animate({
        scrollTop: $(hash).offset().top
    }, 800, function(){

        window.location.hash = hash;
    });
} // end of if
});

1 个答案:

答案 0 :(得分:1)

这"工作"在Chrome中,因为Chrome实现了非标准Window.event属性。

如评论中所述,您应该使用jQuery事件处理程序提供的event参数。

$("#myNavbar a").on('click', function(event){
    ...
    event.preventDefault();
    ...
});