Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 防止滚动到顶部--问题_Javascript_Jquery - Fatal编程技术网

Javascript 防止滚动到顶部--问题

Javascript 防止滚动到顶部--问题,javascript,jquery,Javascript,Jquery,好的,当我点击锚时,我试图阻止页面滚动到页面顶部 我以前做过很多次,但我不明白这次我错过了什么 请查看此代码: $('#regionMapNav a').click(function(event){ event.preventDefault(); var i = $(this).attr("class"); var name = $(this).attr("id"); name = name.replace(/\s+/g, '');

好的,当我点击锚时,我试图阻止页面滚动到页面顶部

我以前做过很多次,但我不明白这次我错过了什么

请查看此代码:

$('#regionMapNav a').click(function(event){

    event.preventDefault();

        var i = $(this).attr("class");
        var name = $(this).attr("id");
        name = name.replace(/\s+/g, '');
        if(i != 'active'){
                $('.active').removeClass('active');
                $(this).addClass('active');
                $('.map').hide();

                $('#' + name + 'Map').fadeIn(3000);
                return false;   
            }

});
谢谢你的帮助

编辑 我继续创建了一个只需滚动到底部的hack,因为没有任何应该工作的东西在工作…我知道这不是最好的,但它工作…下面是代码,以防有人遇到同样的问题。请记住,我正在创建的项目位于页面底部。此外,此页面上还有一个动态加载的大标题。我认为我的问题与此有关,但我今天没有精力追溯我的错误

$('#regionMapNav a').click(function(event){

    event.preventDefault();

        var i = $(this).attr("class");
        var name = $(this).attr("id");
        name = name.replace(/\s+/g, '');
        if(i != 'active'){
                $('.active').removeClass('active');
                $(this).addClass('active');
                $('.map').hide();

                $('#' + name + 'Map').fadeIn(3000);
                window.scrollTo(0, document.body.scrollHeight);
                return false;   
            }

});

添加一个
返回false在if语句之外。它可能会在我不“活动”的链接上滚动到顶部。

Hmm。。。这看起来应该行得通。你的HTML是什么样子的?我想问题是这个页面有一个动态添加的标题…我只想添加一个滚动到底部的处理程序,因为我知道这应该会起作用。链接的HREF是什么?当HREF指向“#”并且我绑定了
单击事件时,我遇到了一些浏览器不遵守
preventDefault()
的问题。尝试将HREF设置为“”。在我看来很不错;没有标记也很难复制。;-)在初始检查中,我看到的唯一一件事是,我认为您根本不需要返回false(无论是在if语句中还是在if语句外)。是否有可能有另一个插件(某种“滚动到”?)有一个绑定事件?也尝试过了,但没有成功。好主意。我发布了一个对我有用的hack,因为此映射位于页面底部。
event.preventDefault()
应该已经在做防止传播的工作,通常建议不要返回false。我同意Greg的观点,使用event.preventDefault()。这将阻止链接和提交按钮等元素的默认操作。