2014-12-21 105 views
-2

當我點擊一個複選框,然後在開始輸入後立即突出顯示覆選框。當突出顯示時按空格鍵時,會檢查它。
有沒有辦法禁用空格鍵檢查它或只是禁用突出顯示在某種方式?禁用複選框突出顯示

+0

哪裏是你的代碼? – Sadikhasan

+1

這是一個壞主意。有些人依賴於這種行爲。 – meagar

+0

@meagar是對的。不要這樣做。請參閱http://www.w3.org/TR/UNDERSTANDING-WCAG20/keyboard-operation.html – danielnixon

回答

0

這違背了所有用戶可訪問的文件,所以我真的不建議這樣做,但如果你真的想實現這一點,你可以通過刪除用JavaScript這樣做的複選框的focus當加入onfocus="this.blur()"聚焦:

<input type="checkbox" onfocus="this.blur()" tabindex="-1" />

我反對這項建議的理由是,因爲這意味着現在使用鍵盤上的標籤鍵時,元素是不可訪問。這就是爲什麼我還在上面的示例中將tabindex="-1"添加到複選框,因爲沒有它,JavaScript事件會將選項卡重置爲1,因此無法訪問複選框後顯示的所有交互式元素。

0

此代碼在釋放點擊後不重點,但仍然允許用戶選中複選框並正常使用鍵盤控件。可能是你要得到的最好的折中。

document.getElementById('checkbox').addEventListener('mouseup', function() { 
 
    this.blur(); 
 
}, false);
<input type="checkbox" id="checkbox" />

相關問題