Jac*_*cob 3 javascript greasemonkey bookmarklet google-docs
我正在尝试编写一个小油脂猴脚本/书签/您对 Google Docs 有什么帮助。我想添加的功能需要一个 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!");};
}
})();
Run Code Online (Sandbox Code Playgroud)
但是,这仍然无法在编辑窗格中捕获按键 - 没有烦人的警报(尽管它似乎适用于大多数其他网站......)。我已经检查了 Chrome 和 Firefox(我不能让它在任何一个中工作)。
我在 Firebug 中尝试了“日志事件”(并通过 Firebug 的一个简洁的小扩展,Eventbug 检查了所有注册的事件);似乎这些事件不是在按键上触发的。
编辑:
为了澄清 [Tim],我制作了带有一些注释的屏幕截图...

我正在谈论的“编辑窗格”似乎是一堆显示我输入的内容的 Javascripted div。
有任何想法吗?谢谢!
在 Google Docs 中编辑使用 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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3382 次 |
| 最近记录: |