尽管付出了很多努力,点击功能仍会在页面加载

时间:2017-11-02 09:48:52

标签: javascript jquery

我把头发拉出来......

我有

$(document).ready(function(){
  $('a.element-anchor').click(function(e){
        scrollToTop(e, this);
    });
});

function scrollToTop(event, elem){
    event.preventDefault();
    // do stuff
}

Scroll-Top事件已在页面加载时触发。

我也试过$('a.element-anchor').on('click', function(){...});

没有任何帮助。该事件总是在页面加载时触发。

我做错了什么???

[编辑]

Anchor看起来像这样:

<a href="#top" data-title="Link Title" class="element-anchor" id="anAnchor"></a>

可能是URL干扰了它:

http://www.example.com/action=doSomeStuff#anAnchor

因此,当页面加载并且应该执行一个动作(从URL获取var)时,浏览器应该跳转到#anAnchor

2 个答案:

答案 0 :(得分:0)

您可能有一些其他JavaScript代码触发它。要了解有关正在发生的事情的更多信息,请尝试在scrollToTop功能上暂停浏览器的开发人员工具。在开发环境中执行此操作的最简单方法是在函数中添加此语句:

debugger;

这将打开开发人员工具并在函数运行时暂停执行,然后从那里检查堆栈跟踪。

答案 1 :(得分:-1)

可以试试这个

$(document).ready(function(){
  $('a.element-anchor').on('click', function(e){
     scrollToTop(e, this);
  });
});