2014-01-17 37 views
0

對不起,我沒能找到好的標題的問題。我的文本框上有onblur事件,它檢查重名。我不想看是否有重複的名字,如果我上的按鈕或從輸入失去焦點後錨標記點擊。所以我用下面的代碼來檢查,如果我按了一下按鈕或錨標記document.activeelement不承認錨標記

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

但它不承認錨標記,去上顯示的消息。我不想顯示消息,當我使用Tab鍵輸入後點擊錨標籤。

要複製的場景。

  1. 點擊文本框

  2. 然後標籤了。

  3. 點擊錨標記,你會得到的消息框。當我點擊錨標記時,我不想要消息框。

爲什麼document.activeElement無法找到錨標籤。請幫我

這裏是fiddle

回答

1

錨標籤不能被默認聚焦。你必須設置tabindex屬性,如:

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

你可能想要刪除在CSS大綱:

a{outline:0} 

於一身,使用jQuery:

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

See jsFiddle

+0

這是完美的,我是這麼認爲wanted.I想知道爲什麼我們需要刪除提綱CSS和它是什麼? – Happy

+0

大綱只是爲了造型,它是一種邊界出現集中的元素。如果你不關心它,你不需要刪除它 –