Javascript 尽管付出了所有努力,在页面加载时单击函数触发

Javascript 尽管付出了所有努力,在页面加载时单击函数触发,javascript,jquery,Javascript,Jquery,我在这件事上很紧张 我有 $(document).ready(function(){ $('a.element-anchor').click(function(e){ scrollToTop(e, this); }); }); function scrollToTop(event, elem){ event.preventDefault(); // do stuff } 页面加载时已触发Scroll Top事件 我还尝试了('click',func

我在这件事上很紧张

我有

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

function scrollToTop(event, elem){
    event.preventDefault();
    // do stuff
}
页面加载时已触发Scroll Top事件

我还尝试了('click',function(){…})上的
$('a.element-anchor')

没什么帮助。事件总是在页面加载时触发

我做错了什么

[编辑]

锚点如下所示:

<a href="#top" data-title="Link Title" class="element-anchor" id="anAnchor"></a>
因此,当加载页面并执行某个操作(从URL获取变量)时,浏览器应该跳转到#anchor。

可以尝试这样做

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

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

调试器


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

您可以发布HTML吗。我使用了
和您的JS代码,但它不会在加载时启动。我编辑了我的问题,并提供了更多详细信息,说明链接看起来如何像
href=“#top”
触发滚动。删除后重试。@code jaff:had-help-单击仍在执行。当我将#anAnchor指向其他ID时,它将在不触发单击事件的情况下工作。。。奇怪…~~删除了意外评论~~我试过了——我看到的只是点击事件被触发了。但它没有告诉我是什么触发了它。
$(document).ready(function(){
  $('a.element-anchor').on('click', function(e){
     scrollToTop(e, this);
  });
});