Jquery:将.toggle添加到<a>会使其消失

Rap*_*ger 3 jquery toggle twitter-bootstrap

我有

<a id="autoUpdate">Auto-Update: ON</a>
Run Code Online (Sandbox Code Playgroud)

$('#autoUpdate').toggle(function(){
alert('a');
}, function(){
alert('b');
})
Run Code Online (Sandbox Code Playgroud)

当页面加载时,完整的<a>-Tag显示:none并且'b'被警告!我应该补充说,如果重要且链接位于顶部导航中,这是使用Twitter Bootstrap开发阶段的网站.顺便说一句,如果我将a-tag更改为<p>fe,一切似乎都很好.

pim*_*vdb 11

您正在使用已弃用的.toggle功能.它在jQuery> = 1.9.0中被删除,所以如果你正在使用那个版本,这个代码将调用.toggle动画函数,其中第二个函数是回调(在这种情况下将立即执行).

相反,您应该自己实现这样的功能:

var toggleState = true;
$('#autoUpdate').on("click", function() {
  if(toggleState) {
    alert('a');
  } else {
    alert('b');
  }
  toggleState = !toggleState;
});
Run Code Online (Sandbox Code Playgroud)