【问题标题】:How to simulate as if user pressed Ctrl "plus" plus or minus using javascript (JQuery)?如何模拟用户使用javascript(JQuery)按下Ctrl“加号”加号或减号?
【发布时间】:2012-06-15 06:32:07
【问题描述】:

如果我单击锚链接以模拟我按下了键盘上的Ctrl+ 键(或 Mac 上的等效键),这可能吗?如果是的话,请告诉我该怎么做?

类似

<a href="#" onclick="simulateCtrlKeyPlus();return false;">Ctrl+</a>

【问题讨论】:

    标签: javascript jquery windows macos


    【解决方案1】:

    如果你只是想模拟 CTRL+鼠标滚轮缩放功能的行为,你可以使用 CSS3-Transitions。一个不错的 jQuery 插件是 jquery Transit

    例子:

    $('a.ctrlplus').click(function() {
      $('body').transition({ scale: ($('body').css('scale')+0.1) });
    });
    

    不知道它是否适用于所有浏览器。

    【讨论】:

      【解决方案2】:

      我很确定您需要在浏览器 API 级别访问它,因为并非所有浏览器都具有此功能或以相同的方式执行。

      【讨论】:

      • 有什么例子吗?他们是否都支持并不重要。
      【解决方案3】:

      我不明白你要实现什么,但here 是一个插件,它使处理键盘快捷键变得非常容易。

      这是一个例子

      shortcut.add("Ctrl+Shift+X",function() {
      alert("You have pressed Ctrl+____");
      });  
      

      希望对你有所帮助。

      【讨论】:

      • 不,我不想检查用户是否按下了按键(而是点击模拟这些按键行为的链接)
      • 可能是不可能的。这是一个安全问题。如果我们知道要完成的确切要求,我们将更容易帮助任何替代方案。
      • 在这种情况下,确切的要求是放大和缩小。我已经知道如何使用 Javascript + CSS 来做到这一点,但是由于 Ctrl+ 工作得很好,我只是想知道是否可以使用点击事件以及如何使用?
      【解决方案4】:

      要模拟缩放功能,可以使用 CSS 属性“缩放”。 对于 JS,就像:

      function simulateCtrlKeyPlus() {
         let currentZoom = parseFloat(document.body.style.zoom) || 1
         document.body.style.zoom = currentZoom * 1.1
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多