Jquery 单击不触发的方法

Jquery 单击不触发的方法,jquery,Jquery,我有一个菜单,我需要滚动回到顶部时,链接被点击。我有这个密码 $('a').click(function(){ $('.positionHelper').scrollTo( {top:'-800px', left:'0'}, 0 ); }); 当firebug控制台中仅运行handler函数时,代码就可以工作,但当我将click附加到选择器时,它就不工作了。唯一的例外是我将它附加到$('html')。单击。一、 发射 我用许多不同的选择器对此进行了测试,但都不起作用。加载DOM后是否附加事

我有一个菜单,我需要滚动回到顶部时,链接被点击。我有这个密码

$('a').click(function(){

$('.positionHelper').scrollTo( {top:'-800px', left:'0'}, 0 );

});
当firebug控制台中仅运行handler函数时,代码就可以工作,但当我将click附加到选择器时,它就不工作了。唯一的例外是我将它附加到$('html')。单击。一、 发射


我用许多不同的选择器对此进行了测试,但都不起作用。

加载DOM后是否附加事件处理程序

$(document).ready(function() {
  $('a').click(function() { .... };
});
另一个可能的原因是,您的a标记在应用程序生命周期的后期呈现。因此,您可以使用以下方法对其进行绑定:

$('a').live('click', function() { ... });

加载DOM后是否附加事件处理程序

$(document).ready(function() {
  $('a').click(function() { .... };
});
另一个可能的原因是,您的a标记在应用程序生命周期的后期呈现。因此,您可以使用以下方法对其进行绑定:

$('a').live('click', function() { ... });

如果要将事件绑定到
a
元素,则必须使用
preventDefault
来确保超链接不会出现,以便有触发事件的空间

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

    event.preventDefault();
    $('.positionHelper').scrollTo( {top:'-800px', left:'0'}, 0 );

});

如果要将事件绑定到
a
元素,则必须使用
preventDefault
来确保超链接不会出现,以便有触发事件的空间

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

    event.preventDefault();
    $('.positionHelper').scrollTo( {top:'-800px', left:'0'}, 0 );

});

您可能需要将代码包装到documentready函数中。像这样:

$(document).ready(function() {
  $('a').click(function(){  
      $('.positionHelper').scrollTo( {top:'-800px', left:'0'}, 0 ); 
      return false;
  }); 
});

您现在的问题可能是DOM尚未完全加载,因此单击事件没有像您希望的那样绑定到锚点。此外,您可能需要添加一个返回false或“防止默认值”,以确保在href属性中指定的实际url不会被浏览器跟随,而是只执行代码。

您可能需要将代码包装到document ready函数中。像这样:

$(document).ready(function() {
  $('a').click(function(){  
      $('.positionHelper').scrollTo( {top:'-800px', left:'0'}, 0 ); 
      return false;
  }); 
});

您现在的问题可能是DOM尚未完全加载,因此单击事件没有像您希望的那样绑定到锚点。此外,您可能需要添加一个返回false或“防止默认值”,以确保href属性中指定的实际url不会被浏览器跟随,而只是执行代码。

如果html是动态生成的(页面加载后),则需要使用
.live
方法。您的代码是:

$('a').live('click', function(){

$('.positionHelper').scrollTo( {top:'-800px', left:'0'}, 0 );

});

如果html是动态生成的(页面加载后),则需要使用
.live
方法。您的代码是:

$('a').live('click', function(){

$('.positionHelper').scrollTo( {top:'-800px', left:'0'}, 0 );

});

会检查这个,很可能是答案会检查这个,很可能是答案