有人知道如何在jquery中禁用一个链接而不使用return false吗?
具体来说,我要做的是禁用一个项目的链接,使用jquery执行点击它触发一些东西,然后重新启用该链接,以便如果它再次单击它作为默认工作。
谢谢。
戴夫
更新
这是代码。在应用.expanded类之后,它需要做的是重新启用被禁用的链接。
$('ul li').click(function(e) {
e.preventDefault();
$('ul').addClass('expanded');
$('ul.expanded').fadeIn(300);
//return false;
});
$('#myLink').click(function(e) {
e.preventDefault();
//do other stuff when a click happens
});
这将防止超链接的默认行为,即访问指定的href。
jQuery教程:
对于点击和大多数其他事件,您
可以防止默认行为-
点击链接,进入jquery。com
-通过在事件处理程序中调用event. preventdefault ()
如果只希望在满足某个条件(例如隐藏了某些东西)时才使用preventDefault(),则可以使用扩展的类测试ul的可见性。如果它是可见的(即不隐藏),链接应该正常触发,因为If语句不会被输入,因此默认行为将不会被阻止:
$('ul li').click(function(e) {
if($('ul.expanded').is(':hidden')) {
e.preventDefault();
$('ul').addClass('expanded');
$('ul.expanded').fadeIn(300);
}
});