7

Google+ では、コメントを投稿するために使用されるボタンは div から作成されます。

<div role="button" id=":1vq.post" class="d-s-r tk3N6e-e tk3N6e-e-qc" aria-disabled="false" style="-webkit-user-select: none; " tabindex="0">Post comment</div>  

私はそれをクリックできると思います:

document.getElementById(":1vq.post").click(); 

しかし、要素には属性がないと書かれており、nullclickであることがわかりました。onclickでは、JavaScript でボタンをクリックするにはどうすればよいでしょうか。

4

3 に答える 3

4

編集: この質問を開始した wong2 とのチャットの後、この質問が実際に何についての推測に失敗したか (質問は非常に不十分に書かれています)、彼らがやろうとしているのは、Enter キーを作成するための Greasemonkey ユーザースクリプトを作成することです。 Google+ ストリームの [コメントを投稿] ボタンを押します。私はまだ Google+ への招待状を持っていないので、関連するコードも表示されず、できることはあまりありません。この質問は、自分のサイトに Google+ に関連するものを配置することに関するものではありません。Greasemonkey を使用して、自分のブラウザで Google のサイトの動作を変更しようとすることに関するものです。

以前の支援の試み:

id=":1vq.post" は有効な CSS ID 名ではありません。セレクター名に「:」文字を使用することはできません。これは、正当な文字ではないだけでなく、CSS セレクター構文でも意味のある文字であるため、複数の問題を引き起こします。ですから、あなたには2つの問題があることがわかりました。

まず、セレクタ ロジックが機能していません。第二に、他の人が言ったように、単純なjavascript(フレームワークなしなど)を使用してこの方法でクリックするように割り当てることはできません。

セレクター ロジックを正しく動作するように変更すると、次のように (jQuery を使用して) 正しく動作させることができます。

<div role="button" id="aPost" class="d-s-r tk3N6e-e tk3N6e-e-qc" aria-disabled="false" style="-webkit-user-select: none; " tabindex="0">Post comment</div>

$("#aPost").click(function() {
    alert("I was clicked.");
});

そして、この jsFiddle で実際の動作を確認できます: http://jsfiddle.net/jfriend00/Yfnc7/。[実行] をクリックし、[コメントの投稿] をクリックします。

于 2011-07-02T19:11:18.793 に答える
2

click()inputや などの要素にのみ適用されますbutton

http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-2651361

onclickGoogle ではなく 1990 年に登場します。彼らは使用する必要がありますaddEventListener

ブレークポイントを設定して、クリック時に呼び出される関数を確認してください。次に、関数を直接呼び出します。


クリック イベント ハンドラーをトリガーするには、createEventdispatchEventを使用できます。

例を参照してください: http://jsfiddle.net/DzVg9/

Google Plus が実際にmousedownまたはmouseupイベントを使用している可能性があることに注意してください。

于 2011-07-02T17:00:38.720 に答える
0

でボタンを正確に選択しています$(":1vq.post")か? おそらく、またはそのようなものに変更する必要があります(JQueryが文字と文字$("#:1vq.post")をどのように処理するかわかりません)。:.

于 2011-07-02T17:05:09.697 に答える