我正在尝试编写一个小greasemonkey 脚本/书签/你有什么Google 文档。我想添加的功能需要一个 keypress/keyup/keydown 事件处理程序(这三个之一)。不幸的是,Javascript 不是我的强项,而且我似乎无法在编辑窗格中捕获(?)按键事件。作为最后的手段,我尝试了以下方法:
javascript:(function(){
els = document.getElementsByTagName("*");
for(i=0;i<els.length;i++){
els[i].onkeypress=function(){alert("hello!");};
els[i].onkeyup=function(){alert("hello2!");};
els[i].onkeydown=function(){alert("hello3!");};
}
})();
但是,这仍然无法捕获编辑窗格中的按键 - 没有烦人的警报(尽管它似乎适用于大多数其他网站......)。我已经检查了 Chrome 和 Firefox(我无法让它在任何一个中工作)。
我在 Firebug 中尝试了“记录事件”(并通过 Firebug 的一个简洁的小扩展,Eventbug 检查了所有注册的事件);这些事件似乎并不是在按键时触发的。
Edit:
To clarify [Tim], I made this screenshot with some annotations...
我所说的“编辑窗格”似乎是一堆显示我输入内容的 Javascripted div。
有任何想法吗?谢谢!
在 Google 文档中进行编辑使用 iframe。您需要将侦听器附加到 iframe 的文档。它似乎对 iframe 做了一些复杂的事情,我还没有完全解决,但以下似乎适用于 Firefox:
var iframe = document.getElementsByTagName("iframe")[0];
if (iframe) {
iframe.contentDocument.addEventListener("keypress", function(evt) {
console.log("iframe keypress: " + evt.which);
}, false);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)