【问题标题】: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");
没有。