2

私は gmail 用の Greasemonkey スクリプトに取り組んでおり、(メールを作成して返信するときに) gmail のテキスト ボックスを参照する方法を見つける必要があります。Gmail には新しい HTML を含む iframe があり、テキストは WYSIWYG エディターの一部として本文にあります。これらの要素のすべてのクラスをjqueryで選択しようとしましたが、機能しません-特に、.keypress()

これが私が試したことです:

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

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

キープレスイベントハンドラーをバインドする方法はありますか? それとも、gmail は従来のテキストボックスではないため、可能ですか?

4

2 に答える 2

1

(".editable LW-avf")選択しません <body class="editable LW-avf">

次のようなものが選択されます。

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

それが存在する場合。

あなたがしたい:

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

(2 つのクラス、セレクター内の 2 つのドット)。

また:

  1. スクリプトが iframe で実行されるように設定されていることを確認してください (デフォルトです)。
  2. あなたの目的のためにkeydown、ではなく、を使いたいのです。keypress
于 2012-10-01T11:11:54.960 に答える
1

それはきれいではありませんが、仕事をします:

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