0

大家好,我在站点范围的包含文件中实现了 smoothscroller 脚本。但我想在主页上禁用它。(Smoothscroller 基本上是使用 # 锚点让浏览器缓慢平滑地向下滚动到锚点部分。没有跳跃。)

这是踢球者。我不想禁用所有点击,只有关于 Smoothscroller 的点击。

Smoothscroller 代码的开头是这样的:

$(function(){
  $('a[href*=#]').click(function() {

现在,我已经尝试在页面上的 smoothscroller 调用之后放置以下内容:

$('a[href*=#]').unbind('click');

但这会禁用该链接上的所有点击。(他们使用的 jquery 选项卡系统也使用了点击操作。

我还尝试为 click 函数分配一个变量:

var narf = $('a[href*=#]').click(function() {

然后用这个解绑...

$('a[href*=#]').unbind('click',narf);

但它似乎没有任何效果!任何人都可以对此有所了解吗?我错过了什么明显的错误?

4

1 回答 1

2

您可以使用事件命名空间:

http://docs.jquery.com/Namespaced_Events

这将允许您选择一个特定的事件处理程序来解除绑定,就像这样......

$('a[href*=#]').bind('click.thisone', function(){
    // Wacky stuff happens
}).bind('click.thistwo', function(){
    // Crazy stuff happens
}).bind('click.thisthree', function(){
    // Weird stuff happens
});

// Only one is unbound
$('a[href*=#]').unbind('click.thisone');
于 2011-04-22T17:22:49.817 回答