【问题标题】:Capture a Shift and Click event with jQuery使用 jQuery 捕获 Shift 和 Click 事件
【发布时间】:2014-03-08 07:56:06
【问题描述】:

我似乎无法同时捕捉两个事件。我正在尝试捕获 Shift 和 Click(鼠标单击)事件。

我可以单独捕捉每个动作,但不能同时捕捉两个动作。

有人对这个特定问题进行过研究吗?

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    是的:

    $(document).click(function(e) {
        if (e.shiftKey) {
            alert("shift+click")
        } 
    });
    

    【讨论】:

      【解决方案2】:

      您可以检查 event.shiftKey 布尔属性。

      $(selector).click(function(event) {
          if (event.shiftKey) {
              //....
          } 
      });
      

      【讨论】:

      • 这与上面的答案相同。他们几乎在同一时间得到答复。
      • 这与上面的评论相同。这是显而易见的。
      【解决方案3】:

      注意事项:

      检测 Ctrl 或“Meta”(OS X 上的 Cmd 键)

      $(document).click(function(e)
          {
              if (e.ctrlKey)
              {
                  alert("ctrl+click");
              }
          });
      
      $(document).click(function(e)
          {
              if (e.metaKey)
              {
                  alert("CMD+click");
              }
          });
      

      【讨论】:

        【解决方案4】:

        如果我正确理解您的问题,您可以使用您在click 处理程序中收到的event 对象的shiftKey 属性来检查用户单击时shift 键是否按下。

        编辑shiftKey,而不是shift

        【讨论】:

          【解决方案5】:

          一个很好的处理按键事件的库是shortcut.js,可用here。非常好。

          您甚至可以同时捕获 Crtl+Shift,这正是我想要的。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-09-19
            • 1970-01-01
            • 1970-01-01
            • 2016-02-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多