代码之家  ›  专栏  ›  技术社区  ›  Joey C.

当与css:active结合时,单击事件不会激发

  •  1
  • Joey C.  · 技术社区  · 14 年前

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

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

    偶尔(大约每4-5次单击一次),当用户单击链接时,对话框不会打开,只有链接的背景色会更改。再次单击链接将打开对话框。你知道为什么会这样吗?

    2 回复  |  直到 14 年前
        1
  •  0
  •   user113716    14 年前

    确保您没有使用 #link ID在页面上多次出现。

    如果你的链接是 <a> 元素(我认为它们必须是,因为您使用:active)尝试 return false; 在你的最后 click() 处理程序。

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

    $("#link").click( function() {
        $(this).dialog("open");
        return false;
    });
    
        2
  •  1
  •   marcgg    14 年前
    $("#link").click(function() {$(this).dialog("open")}
    

    应该是

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

    还要确保页面上只有一个链接。如果没有,请尝试使用类(“.link”)。