2011-06-08 78 views
0

为什么我的下面的preventDefault不工作?似乎无法找出这一个jquery preventDefault不工作

$(function() { 
    $('a.action-link').bind('click', function(e){ 
    if(!$(this).hasClass('active')) { 
     e.preventDefault(); 
     $('#guts').fadeTo(333, 0.2); 
     $('ul#slider').fadeOut(333, 'easeOutExpo', function() { 
     $(this).fadeIn(333, 'easeInExpo'); 
     }); 
     return false; 
    }); 
    } 
}); 
+0

当它不加工?你可以发布一个小提琴样本,并更好地解释你需要什么? – 2011-06-08 19:00:11

+1

该代码在语法上无效。浏览器将不会正确运行此代码,因为它会引发错误... – 2011-06-08 19:00:39

+0

动态创建'a.action-link'吗?在这种情况下,您需要使用'.live()'而不是'.bind()' – Benjamin 2011-06-08 19:04:02

回答

1

您的括号/括号不匹配。我不确定它是如何工作的。

$(function() { 
    $('a.action-link').bind('click', function(e){ 
     if(!$(this).hasClass('active')) { 
      e.preventDefault(); 
      $('#guts').fadeTo(333, 0.2); 
      $('ul#slider').fadeOut(333, 'easeOutExpo', function() { 
       $(this).fadeIn(333, 'easeInExpo'); 
      }); 
      return false; 
     } 
    }); 
}); 
0

似乎只是一个语法错误:

 return false; 
    }); 
    } 
}); 

 return false; 
    } 
    }); 
}); 

这个工程作为小提琴:

http://jsfiddle.net/UnahA/1/