2011-12-31 58 views
1

我有这个jQuery:切换一类禁用我的链接

$(".button").toggle(function() { 
$(this).find(".button").addClass('disable');  
}, 
function(){ 
$(this).find(".button").removeClass('disable'); 
}); 

我对.button链接HTML是:

<a class="button" href="https://stackoverflow.com/users/sign_up"> 

我的CSS禁用类:

.disable { 
      background: none repeat scroll 0 0 #F2F0F0 !important ;   
      border-color: #D1CDCD; 
      color: #D1CDCD !important;  
      cursor:default; 
      text-shadow: 0 -1px rgba(34, 25,25,0.01)!important;       
      cursor:pointer; box-shadow: none !important; 
      } 

为什么我单击按钮时无法进入/ users/sign_up? .disable类被添加并工作正常,但链接不被采用。

+2

嗯如果你只是想去另一个页面,改变链接的CSS点会是什么? – Esailija 2011-12-31 13:47:19

+0

请稍微显示一下您的HTML代码 – Dion 2011-12-31 13:47:24

+0

为什么会影响CSS链接操作? :S我不明白,对不起... – hyperrjas 2011-12-31 13:52:44

回答

1

jQuery documentation发现这一点:

的实施也对事件调用.preventDefault(),所以链接 不会遵循和按钮将无法点击,如果.toggle()已 被称为元素上。

这将是很容易在你切换功能结束手动打开页面:

window.location = $(".button").attr('href'); 

这里是一个example in JSFiddle。为了让它工作,我必须用$(".button)替换$(this).find(".button")

+0

+1我不知道'toggle'行为。 – tvanfosson 2011-12-31 13:58:56

+0

只是完全删除代码会更容易:/ – Esailija 2011-12-31 14:06:19

+0

谢谢你对我的工作很好,这是修复:D。非常感谢。 – hyperrjas 2011-12-31 15:00:01