回答
下面是关于如何检测铬的文章: 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