document.activeelement无法识别锚标记

时间:2014-01-17 15:31:34

标签: javascript jquery html

抱歉,我无法找到问题的好标题。我的文本框上有onblur事件,用于检查重复的名称。如果我在输入失去焦点后单击按钮或锚标签,我不想检查重复的名称。所以我使用以下代码来检查我是否点击了按钮或锚标记

if (document.activeElement === $('#btnSubmit')[0] || document.activeElement === $('#testLink')[0]) return;

但它不识别锚标记并继续显示消息。当我从输入中使用标签后点击锚标签时,我不想显示消息。

复制方案。

  1. 点击文本框

  2. 然后标签出来。

  3. 点击锚标记,您将收到消息框。当我点击锚标签时,我不想要消息框。
  4. 为什么document.activeElement无法找到锚标记。请帮帮我

    这是fiddle

1 个答案:

答案 0 :(得分:1)

默认情况下无法聚焦锚标记。您必须设置tabindex属性,例如:

<a id="testLink" href="#" tabindex="-1">Test</a>

您可能希望删除CSS中的大纲:

a{outline:0}

一体化,使用jQuery:

$('#testLink').attr('tabindex',-1).css('outline',0);

See jsFiddle