3

Google が検索結果で onMouseDown を使用していることに気付きました。Web トラッキング、キーワードやランキングの表示などに使用されています。

onClick と onMouseDown のどちらが優れているかを知りたいのですが、どちらも次のすべてをサポートしていますか: 中央ボタン、左クリック、右クリック (ゲーマー マウスなどの他のボタン)。携帯電話、タブレット、その他すべてのオペレーティング システムのブラウザを含むすべてのブラウザでサポートされていますか? 関数が最初にロードされることが最も重要です。HREF は、javascript が失敗した場合の SEO およびその他の UI/UX の利点のために残されています。

<a href="http://www.site.com" onclick="doMyFunctionFirst();">
JavaScript loaded before the href URL
</a>

または

<a href="http://www.site.com" onMousedown="doMyFunctionFirst();">
JavaScript loaded before the href URL
</a>

または、一見明らかです(スペースのすべての文字がクライアントにとって重要であるため、これは行いません)

<a href="http://www.site.com" onclick="doMyFunctionFirst();" onMouseDown="doMyFunctionFirst();">
JavaScript loaded before the href URL
</a>
4

3 に答える 3

4

特に、clickタブでリンクに移動して Enter キーを押すとイベントが発生しますが、mousedown/は発生しmouseupません。

于 2012-01-30T16:59:33.473 に答える
1

主な違いはonmousedown、どのマウス ボタンが押されたかに関係なくonclickトリガーするのに対して、マウスの左ボタンに対してのみトリガーすることです。

于 2012-01-30T17:01:27.827 に答える
-1

W3C 仕様では、イベントがすべてのボタンに対して発生するかどうかを指定していないようです。押されたボタンは、イベント オブジェクトの「ボタン」プロパティで示される必要があるだけです。少なくともChromeでは、メイン(私の場合は左)のマウスボタン以外で「クリック」が発生するようには見えません。Quirksmode には、これを確認するための便利なテスト ハーネスがあります。

onclick、onmousedown、および onmouseup は異なる動作を表し、本質的に「より良い」ものはありません。「クリック」はボタンを押してから放すことであり、mousedown は「ダウン」であり、mouseup は「リリース」です。通常、これは、ドラッグ/ドロップ操作を行っている場合に関連します。

MDN のドキュメントには、マウスダウンとマウスアップの後に onclick が発生することが示されています。

また、理想的には、マークアップではなく控えめなJavascript手法を使用してイベント ハンドラーをアタッチする必要があります。

HREF は、javascript が失敗した場合の SEO およびその他の UI/UX の利点のために残されています。

イベント ハンドラーがリダイレクト/AJAX 要求などを実行している場合、イベントの発生後にブラウザーにリンクをたどらせたくない場合は、 preventDefaultメソッドを使用する必要があります。

于 2012-01-30T17:10:00.477 に答える