大家好,我在一个全站包含文件中实现了smoothscroller脚本。但我想在主页上禁用它。 (Smoothscroller基本上使用#anchors使浏览器缓慢平滑地滚动到锚点部分。没有跳跃。)
这是踢球者。我不想禁用所有点击,只有关于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);
但它似乎没有效果!任何人都可以对此有所了解吗?我错过了什么明显的错误?
答案 0 :(得分: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');