【问题标题】:Greasemonkey Javascript Key PressGreasemonkey Javascript 按键
【发布时间】:2011-01-08 21:57:33
【问题描述】:

我目前正在尝试制作一个 GreaseMonkey 脚本,该脚本将允许用户在键盘上按左键或右键,然后将其转到上一个漫画或下一个漫画。我目前有一些代码,但它没有给我任何结果。

function KeyCheck()
{
var KeyID = event.keyCode;
alert(KeyID);
}

document.onKeyDown = KeyCheck();

代码仅用于调试以查看它是否实际执行,但是当我按下一个键时,页面上不会发生任何事情。我也在 Firefox 中进行测试。

【问题讨论】:

    标签: javascript dom-events greasemonkey keypress


    【解决方案1】:

    所以在谷歌搜索了 30 分钟后,我发现 GreaseMonkey 不支持开箱即用的 onkeydown。我不得不使用一个名为“addEventListener”的函数。我的最终代码正确返回了在网站上按下的键的 keyCode:

    function KeyCheck(e)
    {
    alert(e.keyCode);
    }
    
    window.addEventListener('keydown', KeyCheck, true);
    

    【讨论】:

      【解决方案2】:

      您不应该在 KeyCheck 之后使用 ()。您当前的代码运行 KeyCheck,然后尝试将 document.onKeyDown 设置为返回的值。如果您在没有 () 的情况下执行此操作,则应将名为 KeyCheck 的函数设置为在事件上运行。

      另外,我认为 onKeyDown 应该全部小写 - 它是 document.onkeydown

      进一步的例子,内联函数:

      document.onkeydown = function() { alert("key down") }
      

      工作时

      document.onkeydown = alert("key down");
      

      没有。

      【讨论】:

        猜你喜欢
        • 2015-10-19
        • 2011-09-22
        • 2010-09-23
        • 1970-01-01
        • 1970-01-01
        • 2011-06-17
        • 1970-01-01
        • 1970-01-01
        • 2021-08-31
        相关资源
        最近更新 更多