Opera PreventDefault() on keydown 事件

2023-12-01

我正在尝试在我的网络应用程序中嵌入一些按键绑定,但我在 Opera 上遇到了困难。我有这个代码:

window.onkeydown = function(e){
  var key = e.keyCode ? e.keyCode : e.charCode ? e.charCode : false;
  if (e.ctrlKey && key === 84) {
    alert("foo");
    e.preventDefault();
    // return false;
  }
}

它在 Firefox 和 Chrome 中就像一个魅力,但 Opera 仍然打开新选项卡。同样的情况发生在return false;.

我的信息:Opera/9.80 (X11; Linux i686; U; en) Presto/2.7.62 Version/11.00


Opera 不支持 preventDefault on keydown,仅在keypress.

正如你所看到的这个例子,你应该绑定一个单独的keypressOpera 的处理程序(根据您的情况进行调整):

var cancelKeypress = false;

document.onkeydown = function(evt) {
    evt = evt || window.event;
    cancelKeypress = (evt.ctrlKey && evt.keyCode == 84);
    if (cancelKeypress) {
        return false;
    }
};

/* For Opera */
document.onkeypress = function(evt) {
    if (cancelKeypress) {
        return false;
    }
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Opera PreventDefault() on keydown 事件 的相关文章

随机推荐

  • 尽管我是所有者,但无法以所有者身份访问资源

    我正在尝试对存储桶和资源进行操作 但我不断收到访问被拒绝的错误 e g gsutil ls L gs images large gs images large aa png Creation time Tue 25 Nov 2014 20
  • Django 使用 ORM 选择每组前 n 条记录

    按照此question 我试图按条件获取每个组的前 10 条记录 但 Django 返回此错误 from django db models import F Window from django db models functions im
  • 如何使补充视图在 UICollectionView 中浮动,就像 UITableView 普通样式中的节标题一样

    我正在努力实现 浮动节标题 效果UICollectionView 一些很容易的事情UITableView 默认行为UITableViewStylePlain 似乎不可能UICollectionView无需付出很多努力 我错过了显而易见的事情
  • For 循环迭代 2 的幂

    我想编写一个 for 循环 为每个循环迭代 2 的幂 例如我想要一个这样的范围 2 4 8 16 1024 我怎么能这样做呢 您可以使用生成器表达式这样它就可以根据需要生成数字并且不会浪费内存 gt gt gt for x in 2 p f
  • 从描述符字符串恢复 .proto 文件。可能的?

    是否可以将包含 Protocol Buffers 描述符的字符串反编译回 proto 文件 假设我有一个长字符串 例如 n file proto u001a u000ccommon proto u00a3 u0001 n nMsg1Requ
  • 如何在没有 Web 请求或 Web 服务器的情况下解析 JSON 文件?

    寻求建立以下解决方法 getJSON myfile json function data showAll data 我想避免使用网络服务器 但只想直接访问文件 getJSON使用网络请求 出现错误 XMLHttpRequest cannot
  • PHP 中的 MySQL 与 MySQLi [重复]

    这个问题在这里已经有答案了 各自的区别 优点是什么 缺点 我不是在寻找编码偏好或主观答案 什么是实际的差异 存储 实现 代码的样子 环境要求 您可以使用准备好的陈述与 mysqli 还有一个存储大 blob 数据的函数 旧的 mysql 扩
  • 为什么IE8是IE7模式。变量“IE”== 7

    我的 HTML 页面中有如下标题 我在 IE8 中打开该网站 当我在 Web Developer 中查看它时 如果 IE 7 处于活动状态 WebBrowser 在 IE8 紧凑视图 上设置 BrowserMode 在 IE7 标准 上设置
  • Facebook FQL 获取 Facebook 页面的粉丝列表[重复]

    这个问题在这里已经有答案了 可能的重复 查询 喜欢 我的 Facebook 页面的用户 目前该网站上的所有解决方案都不起作用 我是 Facebook 页面的管理员 想导出所有粉丝的 ID 这可能吗 https api facebook co
  • Mysql - CAST 的唯一约束(TIMESTAMP as DATE)

    我有一个TIMESTAMP myDate我的 MYSQL 表中的字段 有没有办法可以定义一个唯一的字符串stringForTheDay对于每一个day in myDate 就像是 UNIQUE stringForTheDay day in
  • SVG 膨胀/侵蚀滤镜与 Illustrator 偏移路径

    下面是在 Chrome 22 0 1229 79 Mac 上呈现的 SVG 图像的屏幕截图 原始的 svg 位于 jsfiddle 上 http jsfiddle net LGBk5 左图是使用 SVG s 扩张和腐蚀滤镜制作的 右图是使用
  • Node.js Web 服务器中的并行请求

    如果我有一个运行 Node js 的 Web 服务器 那么我是否能够同时处理多个请求 从我的初步测试中我可以看出 Node 主要是单线程的 目前只能处理一个 HTTP 请求 但如果一个请求需要很长时间才能完成 例如上传大量数据 则所有其他请
  • 如果我不编辑代码,PHP Mail 就会停止工作

    我的 PHP 邮件有问题 它有时会停止工作 我什至没有接触代码 我有一个脚本可以检查所需的表单是否为空 这个脚本有效 但是 如果我填写所有必填字段 我应该会收到一条文本 显示 您的邮件已成功发送 但我没有 但是 如果我通过仅将一些文本向下移
  • C# 实体 LINQ 返回错误且重复的值

    我使用以下代码 List
  • cakephp 2 ajax 表单

    我在 cakephp 2 中构建 ajax 表单时遇到问题 它显然自 1 3 以来已经发生了很大变化 我正在使用以下代码 div div div div
  • C 中的通用二叉搜索树

    我已经实现了二叉搜索树 但我也想使其通用 代码如下 typedef struct treeNode int data struct treeNode left struct treeNode right treeNode 和功能 treeN
  • laravel with() 方法与 load() 方法

    我真的很努力去理解两者之间的区别with 方法和load 方法 但没能真正理解 据我所知 使用with 方法 更好 因为我渴望加载关系 看来如果我使用load 我加载关系就像使用hasMany 或与对象之间的关系相关的任何其他方法 我理解错
  • 传递到字典中的模型项是 .. 类型,但是该字典需要类型为 的模型项

    添加了此问题和社区维基答案 以帮助解决许多未解答的问题 如中讨论的这个元帖子 我有一些代码 当它执行时 它会抛出一个异常 传递到字典中的模型项是 Bar 类型 但该字典需要 Foo 类型的模型项 这是什么意思 我该如何解决 该错误意味着您正
  • 单个查询中的 EF 多个聚合

    我想根据不同的条件获取一组的计数 var invoices new AccountingEntities Transactions var c1 invoices Count i gt i Type 0 var c2 invoices Co
  • Opera PreventDefault() on keydown 事件

    我正在尝试在我的网络应用程序中嵌入一些按键绑定 但我在 Opera 上遇到了困难 我有这个代码 window onkeydown function e var key e keyCode e keyCode e charCode e cha