2009-12-03 60 views
12

它有點難以解釋,但我會嘗試。如何取消選擇鏈接使用jquery

只要有人點擊一個錨鏈接,即暫時出現一個虛線框周圍。 例如,當您單擊本頁頂部的stackoverflow徽標時,它會暫時被虛線包圍。由於頁面被刷新,虛線框消失。

但隨着AJAX,鏈接犯規GET刷新,因此虛線框保持就可以了。 如何刪除該虛線框。當你點擊頁面上的某個地方時,虛線框就會消失。 如何使用jquery或任何其他方式。

回答

18

要取消選擇它,你可以錨元素上觸發blur事件,例如:

$('a').click(function() { 
    this.blur(); // or $(this).blur(); 
    //... 
}); 

element.blur()將從當前元素去掉鍵盤焦點。

3

該框是重點。你可以試試這樣做:

$("#mylink").blur(); 

這樣:

$("#mylink").click(function() { 
    $.ajax({...}); 
    $(this).blur(); 
    return false; 
}); 
+4

不需要將jQuery加入它:'this.blur()'也可以。 – nickf 2009-12-03 06:30:08

10

不要使用jQuery或JavaScript來解決這個問題。你可以通過使用直接的CSS來刪除它。只是要小心,因爲它是一個可用性功能

在你的CSS樣式表(所有元素):

/* Disable all focus styles */ 
:focus { outline: 0; } 

在CSS(針對鏈接):

#mylink:focus { outline: 0; } 

與問題blur()解決方案是焦點矩形閃爍然後立即關閉。

+1

+1真的很好的方法,唯一的缺點是,它不會爲IE瀏覽器工作[<='7(和IE8在compat模式下) – CMS 2009-12-03 15:33:18

+1

@CMS你是完全正確的。真是無賴。我使用這些代碼很多,並且從不費心去查看它在IE中的運行方式。 -1對我來說:) – 2009-12-03 15:53:21

+0

不錯的一個!不知道我們可以用CSS來做到這一點。 – 2016-12-16 19:51:15