2012-01-09 127 views
3

我有一个锚点标记,它具有与之链接的jQuery单击事件。通过单击事件禁用锚点

此单击事件所做的第一件事是通过将disabled属性设置为true来将锚点设置为禁用状态。这引发了正确的外观,因为它从我的样式表中选取了myAnchor[disabled]样式。

但是,它不会停止点击事件被激发多次,而锚点已禁用设置为true。我想这是因为禁用属性只适用于输入一个不在锚点上(因为我试过这个后发现)。

这段代码对于应用程序内部的许多锚点是通用的,所以向Click事件本身添加一些代码是不可取的,因为我必须将其复制到所有Click方法。即使我用所需的代码创建函数,也意味着我(或者更糟糕的是,其他开发人员可能不知道)必须先记住所有Click方法。

请记住,锚点可能会在某个时候再次启用,所以我不能只是删除点击事件,从那时起,我需要跟踪其他地方的功能,除了点击方法。

所以问题是,禁用锚点的正确方法是什么?

回答

5

您可以执行以下任何操作。

$('a').click(function() { return false; }); 

$('a').off('click'); 

$("a").unbind("click"); 
+2

如果元素之前有一个事件使用'on()'或'bind()'分别连接,则第二个元素只能工作。 – Purag 2012-01-09 08:59:54

+1

您也可以使用['.one()'](http://api.jquery.com/one/)API。但我不确定你的答案是否解决了OP的问题 – JMax 2012-01-09 09:05:12