当按下 alt+tab 或 windows+d 时,如何在 jquery 中触发事件?

2024-03-10

我想在按下 alt+tab 或 windows+d 时触发一个事件。以下是我的代码,当鼠标指针远离浏览器窗口时发出警报。但即使用户按 alt+tab 或 Windows+D,也应该发生此事件。有人可以帮我解决这方面的问题吗?以下是我的代码供您参考:

<!DOCTYPE html>
<html>
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
    <script>
      var timer;
      $(document).ready(function () {
        $(document).mouseleave(function () {
          //alert("Mouse is away");
          customAlert("your mouse is away");
        });
      });

      function customAlert(customText) {
        $("#popUp").html(customText);
        timer = setInterval(customAlert2, 5000);

        $("#popUp").dialog({
          dialogClass: "no-close",
          buttons: [{
                      text: "OK", click: function () {
                        $(this).dialog("close");
                        clearInterval(timer);
                      }
                    }]
        });
      }

      function customAlert2() {
        location.reload();
        $("#popUp2").dialog({
        dialogClass: "no-close",
        buttons: [{
                  text: "OK", click: function () {
                    $(this).dialog("close");
                  }
                }]
        });
      }


    </script>
  </head>
  <body>
    <h1>My first Javascript program</h1>
    <p>Hello World!</p>
    <div id="popUp" title="First alert message"></div>
    <div id="popUp2" title="Second alert message">Time is over</div>
  </body>
</html>

attention if you want to handle any keys that they registered by OS (for example: Alt+Tab ) you CAN NOT do this by Jquery.

您需要将事件分配给未注册的键才能使用 Jquery 触发事件。

你可以尝试一些像blow这样的代码来轻松处理你想要的东西

var keys = {};

 $(document).keydown(function (e) {
  keys[e.which] = true;
 });

 $(document).keyup(function (e) {
   delete keys[e.which];
});

if( (keys[91] && keys[68]) || (keys[18] && keys[9]) ) /*windows+d OR alt+tab*/
{ /* your code */}

or

use jwerty http://keithcirkel.co.uk/jwerty/lib 来做到这一点。示例代码:

jwerty.key('ctrl+shift+P', function () { 
   // your code
});

并支持组合:

jwerty.key('⌃+⇧+P/⌘+⇧+P', function () { 
   // your code
});

and There's a simple javaScript library Mousetrap http://craig.is/killing/mice for handling keyboard shortcuts. Take a look at the example:
Mousetrap.bind('h', function() {
    // your code
});

OR

它还支持组合:

Mousetrap.bind(['ctrl+h', 'ctrl+l'], function(e) {
    // your code
}

我希望它对你有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当按下 alt+tab 或 windows+d 时,如何在 jquery 中触发事件? 的相关文章

随机推荐

  • Python导入:更改“子”中的变量会更改“父”/其他子中的变量吗?

    假设您有 3 个模块 a py b py 和 c py a py v1 1 v2 2 etc b py from a import c py from a import v1 0 c py会改变a py和b py中的v1吗 如果没有 有办法
  • wget 中的 HTTP 500 错误

    看看这个页面 http www ptmytrade com product asp id 61363 http www ptmytrade com product asp id 61363 它加载良好 至少在这里 现在我想用 wget 来抓
  • 返回数字的最后 5 位

    如何只显示号码的最后5位 输入示例 123456789 将返回 56789 假设需要转换的数字是整数 然后您可以使用模块化数学 您可以将数字转换为以 100 000 为基数的模块 这意味着仅保留最后 5 位数字 转换可以通过除法余数的运算符
  • 如何禁用和启用表 mysql 中的所有约束(包括)。 PK FK CHK UNI 等

    我需要将测试数据加载到表中 我想禁用每个可能的约束 我已经找到了如何全局关闭外键 但我需要禁用所有约束 PK FK CHK UNIQ 等 是否可以在全球范围内进行 当然 在那之后我必须打开所有限制 使用以下命令禁用约束 disable UN
  • 从输出流获取输入流

    我有一个组件在输出流中为我提供数据 ByteArrayOutputStream 并且我需要将其写入 SQL 数据库的 blob 字段而不创建临时缓冲区 因此需要获取输入流 根据答案here https stackoverflow com q
  • 为什么我的 php 代码返回 inf?

    我有一个数学问题 我试图计算一组值的总组合 当我尝试运行我的计算时 它只返回 INF 而不是数字 tally 1 foreach output as key gt er tally tally ord strtolower er 96 ec
  • 按时间间隔访问和设置 iPhone 的闹钟/用户警报

    有什么方法可以访问或设置 iPhone 的闹钟吗 我假设如果这不可用 唯一的其他方法是推送通知以定期提醒用户 有任何想法吗 没有用于访问日历或闹钟的公共 API
  • 退出前是否需要关闭文件描述符?

    当然 大多数情况下的直接答案是 yes 而且我坚信进程应该正确地清理它分配的任何资源 但我的情况是一个长期运行的系统守护进程 它在启动时打开固定数量的文件描述符 并在启动之前关闭它们 退出 这是一个嵌入式平台 我试图使代码尽可能紧凑 同时不
  • 在 VBA 中逐行读取/解析文本文件

    我正在尝试使用 VBA 解析文本文档并返回文本文件中给出的路径 例如 文本文件如下所示 Blah blah instructions Blah blah instructions on line 2 G Folder data xls D
  • Spring - 从查询中获取结果集

    我想用Spring JDBCTemplate但我想收到ResultSet 它不会将完整的查询结果存储在内存中 就像您会发现使用 java 执行标准语句一样JDBC 我发现的最接近的ResultSet was SqlRowSet sqlRow
  • 使用 SimpleDateFormat 时出错

    我正在尝试使用 SimpleDateFormat 类从该字符串中解析 DateTime 2012 年 7 月 5 日 11 38 02 442 世界标准时间 UTC 上午 我尝试了以下格式字符串 SimpleDateFormat datef
  • 数据库设计(库存数据库)

    我正在寻求设计一个跟踪小吃店的库存数据库 由于这将是单人 计算机访问 并且需要轻松移动到另一个系统 因此我计划使用 SQLite 作为数据库引擎 基本概念是跟踪从 Sams Club 等批发仓库购买的库存 然后跟踪库存 我试图克服的主要障碍
  • 在 WooCommerce 3 中获取订单运送商品详细信息

    我怎样才能得到订单运输方式 ID 例如 flate rate 自 WooCommerce 3 以来 一切都发生了变化 现在变得很复杂 我已经尝试过 order gt get data 在 foreach 循环中 但数据受到保护 如果您想获取
  • R 将整个文件夹移动到另一个目录

    我想将整个文件夹从一个目录移动到另一个目录 这是我的代码 folder old path C Users abc Downloads managerA path new C User abc Desktop managerA current
  • 一张数据库表可以包含多个主键吗?

    一张数据库表可以包含多个主键吗 是的 我说的是 RDBMS 一张表可以有 没有主键 一个主键由一列组成 或者 一个复合主键由两列或多列组成 除此之外 您可以拥有任意数量的唯一索引 这基本上可以完成相同的操作
  • 具有混合数据类型的 TensorFlow 数据集生成器

    我正在使用 TensorFlow 数据集 API https www tensorflow org guide datasets https www tensorflow org guide datasets 特别是 我将它与 Tensor
  • 在 Rails 中创建所见即所得表单生成器 (á la Wufoo)

    我必须向 Rails Web 应用程序添加类似 Wufoo 的 WYSIWYG 表单构建器功能 有谁知道有帮助的好资源 宝石 引擎 插件 示例代码 这并不是您问题的真正答案 但不幸的是 由于我的声誉水平 我仍然无法添加评论 抱歉 Drupa
  • 静态方法与否?

    我需要使用 PHP 开发一个小型 CMS 现在我正在尝试弄清楚其结构 CMS 将使用一组函数生成 诸如数据库功能 缓存 国际化之类的东西 我想这样做 使函数成为大 站点 类的非静态方法的一部分 这样我就可以运行该类的多个实例 但不确定我是否
  • 并行应用程序具有随机行为

    我正在编写一个 C 程序 使用 pthreads 在二维矩阵上进行波前模式计算 为了获得良好的性能 我以交错的方式将几行分配给每个线程 如下所示 线程0 线程 1 线程 2 线程 3 线程0 线程 1 线程 2 线程 3 etc 在这个计算
  • 当按下 alt+tab 或 windows+d 时,如何在 jquery 中触发事件?

    我想在按下 alt tab 或 windows d 时触发一个事件 以下是我的代码 当鼠标指针远离浏览器窗口时发出警报 但即使用户按 alt tab 或 Windows D 也应该发生此事件 有人可以帮我解决这方面的问题吗 以下是我的代码供