回答
下面是關於如何檢測鉻的文章: http://javascriptly.com/2008/09/javascript-to-detect-google-chrome/
而且這個問題:Disable tab key on a specific div可以幫助你在禁用Tab鍵。如果你能夠把自己和你結合起來,你可能已經有效了。
的禁用功能,將成爲類似:
$('.textarea').on('keyup mouseup', function(e) {
if(e.which == 9) { e.preventDefault(); }
});
e.which = 9是按照給定的最後一個環節Tab鍵。如果你能夠自己將瀏覽器檢測包裝在它周圍,我想你已經有了你的工作示例。
input.keydown(function(event){
if (event.keyCode === 9) {
event.preventDefault();
}
})
關鍵是太晚了,您需要在keydown上調用該事件。這對我有效。
這對我有用,接受的答案沒有。 – James 2013-01-11 14:59:54
我接受答案後沒有找到這個工作。事實上 - 加密已經太晚了。感謝提示:) – 2013-07-10 21:31:40
這工作!這是奇怪的情況。這裏完美的解決方案。 – 2013-07-17 02:44:03
這可能是有點晚,但結合@ EvgueniNaverniouk的回答和@K ._的評論(上@ Joshua_Pendo的答案),確定您必須使用onkeydown
和最近event.key
,而不是event.keyCode
。 event.key
所做的是返回密鑰的名稱而不是代碼。例如,tab
鍵將作爲「Tab」返回(這是區分大小寫的)。下面是完成工作代碼:
function checkForTab(event) {
if (event.key == "Tab") {
event.preventDefault();
}
else {
//whatever stuff if not Tab
}
}
document.getElementById("element").onkeydown = checkForTab(event);
function checkForTab(event) {
\t if (event.key == "Tab") {
\t \t event.preventDefault();
document.getElementById('element').value += " Also notice this text appears every time you press tab!";
\t }
\t else {
\t \t //whatever stuff if not Tab
\t }
}
document.getElementById('element').onkeydown = checkForTab;
//Trick is to use keydown and use event.key instead of keyCode
<textarea id="element" style="width: 300px; height: 100px;">Press tab key here, you'll see default action doesn't occur!</textarea>
運行中的代碼片段,看看我的意思的例子。您現在可以使用這樣的代碼來替換Tab的默認操作,並將操作添加到textarea。注意:我使用.key
而不是.keyCode
的原因是因爲.keyCode
現在已被棄用爲@ K._提到。 希望這有助於!
只是一個提示:這比我在寫這篇文章時所說的所有答案都要好。 @ EvgueniNaverniouk的答案幫助,但仍然沒有100%的工作。 – IamGuest 2017-02-01 00:29:43
- 1. 防止在Firefox中默認的Tab鍵行爲
- 2. 防止默認操作
- 3. 防止在畫布中執行默認操作,但在不使用畫布時恢復默認操作?
- 4. Chrome中的快捷鍵命令不會阻止默認操作
- 5. 防止在ios 5.1上打開鍵盤的默認操作
- 6. 防止對所有輸入的默認操作
- 7. 在Chrome中覆蓋功能鍵默認操作
- 8. 防止默認操作。只有在工作鉻
- 9. 使用jQuery覆蓋元素內TAB鍵的默認操作?
- 10. 防止設備多次執行操作
- 11. 防止默認操作,但不要停止傳播事件
- 12. JQuery - 對同一個對象執行操作以防止覆蓋
- 13. 我們如何防止JavaScript中的默認操作?
- 14. 防止滾動,而鍵盤的Tab鍵
- 15. 防止瀏覽器中按鍵的默認動作
- 16. 如何防止mongoid在執行update_attributes()時保存默認值?
- 17. 防止在Chrome中使用默認'ctrl pageup'和'ctrl pagedown'
- 18. Angular Material - 防止md-tab上的默認設置
- 19. 如何防止在gridview中執行操作的重複
- 20. 圖像裁剪:如何防止默認拖拽拖放操作?
- 21. 如何防止confirm()的默認操作JavaScript
- 22. 如何防止使用JavaScript的錨標記的默認操作?
- 23. 如何防止Mousewheel事件的默認操作
- 24. 綁定Aurelia事件處理程序可防止默認操作
- 25. 防止使用jQuery Ajax時的默認操作
- 26. jQuery的預防默認操作功能鍵(F3,F4等)
- 27. 如何防止執行中的無效工作流操作
- 28. iOS防止默認圖像對焦
- 29. 如何在Ajax中防止JQuery中的默認操作調用結果條件
- 30. 防止默認不起作用
我做的preventDefault但它只是不工作:(我這樣做對錶格單元格 – Shaheer 2011-05-11 08:34:30
你有一個examepl只是,不知道你試圖用一個表格單元格呢?還是會發生什麼當它按下標籤? – 2011-05-11 08:36:35
我做了一個可編輯的網格,當用戶點擊一個表格單元格,並按下標籤,然後下一個單元格應該突出顯示這工作正常,但鉻也設置其他元素的焦點和每個選項卡鉻移動重點關注下一件事,我不希望發生這種情況 – Shaheer 2011-05-11 08:39:25