当与css:active结合使用时,click事件不会触发

时间:2010-06-23 16:15:44

标签: jquery css events jquery-ui

我创建了一个导航菜单,当点击链接时,会打开一个jquery对话框。

在我的CSS中的这些链接上我有:
.navigationLinkButton:active { background:rgb(200,200,200); }
该对话框只需附加:
$("#link").click(function() {$(this).dialog("open")});

有时(大约每4-5次点击)当用户点击链接时,对话框不会打开,只有链接的背景颜色发生变化。再次单击该链接将打开该对话框。任何想法为什么会发生这种情况?

2 个答案:

答案 0 :(得分:1)

$("#link").click(function() {$(this).dialog("open")}

应该是

$("#link").click(function(){$(this).dialog("open")});

还要确保页面上只有一个#link。如果不这样做,请尝试使用类(“。link”)

答案 1 :(得分:0)

确保您未在​​页面上多次使用#link ID。

如果您的链接是<a>个元素(我假设它们必须是您正在使用的:有效),请在return false;处理程序的末尾尝试click()

这将禁用可能刷新页面的链接的默认行为。

$("#link").click( function() {
    $(this).dialog("open");
    return false;
});