Javascript JS在Chrome中运行良好,但在FireFox中不起作用
这是一个简单的窗口滚动,当用户点击导航项目时会触发,但就我而言,我似乎不明白为什么FF不会识别它,我读过类似的问答,但他们只建议定义var的第一个,我已经这样做了,任何帮助都将不胜感激 代码如下:Javascript JS在Chrome中运行良好,但在FireFox中不起作用,javascript,jquery,google-chrome,firefox,Javascript,Jquery,Google Chrome,Firefox,这是一个简单的窗口滚动,当用户点击导航项目时会触发,但就我而言,我似乎不明白为什么FF不会识别它,我读过类似的问答,但他们只建议定义var的第一个,我已经这样做了,任何帮助都将不胜感激 代码如下: $("#myNavbar a").on('click', function(){ var hash = this.hash; //make sure this.hash has a value if (hash !== ""){ //prevent default anchor click
$("#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
});
这在Chrome中“起作用”,因为Chrome实现了非标准属性
如注释中所述,您应该改用jQuery事件处理程序提供的event
参数
$("#myNavbar a").on('click', function(event){
...
event.preventDefault();
...
});
事件未在该作用域上声明,可能您缺少$(“#myNavbar a”)。在('click',函数(event){上,您是否尝试将
$(document).ready()
包装在事件处理程序周围?谢谢@juvian的帮助。