2

我正在为 gmail 编写 Greasemonkey 脚本,我需要找到一种方法来引用 gmail 的文本框(当您撰写和回复电子邮件时)。Gmail 有一个带有新 HTML 的 iframe,文本位于正文中,作为其所见即所得编辑器的一部分。我试过用 jquery 选择这些元素的所有类,但它们不起作用——特别是,.keypress()

这是我尝试过的:

$(".editable LW-avf").keypress(function(event) {
... // the wysiwyg body
});

$(".Am Al editable").keypress(function(event) {
... // the iframe
});

有没有办法绑定按键事件处理程序?或者甚至可能因为 gmail 不是传统的文本框?

4

2 回答 2

1

它不漂亮,但它可以完成工作:

document
    .querySelector(".editable")
    .contentDocument
    .querySelector(".editable")
    .onkeypress = function() { alert("jayer!"); };
于 2012-10-01T11:05:41.813 回答
1

(".editable LW-avf")会选择 <body class="editable LW-avf">

它会选择类似的东西:

<div class="editable">
    <LW-avf></LW-avf>
</div>

如果存在的话。

你要:

$("body.editable.LW-avf")

(两个类,选择器中的两个点。)

还:

  1. 确保脚本设置为在 iframe 上运行(默认情况下)。
  2. 您想使用keydown,而不是keypress,用于您的目的。
于 2012-10-01T11:11:54.960 回答