Vue: マウス修飾子@ click.rightが機能しない

作成日 2017年03月30日  ·  11コメント  ·  ソース: vuejs/vue

バージョン

2.2.1

複製リンク

https://jsfiddle.net/nosferatu79/z1jhpewo/

再現する手順

マウスを右クリックしてテキスト領域をクリックします

何が期待されますか?

textareaに次のテキストを追加する必要があります。

コンテキストメニュー
正しい

実際に何が起こっているのですか?

テキストのみがあります:

コンテキストメニュー

bug

最も参考になるコメント

うーん、たぶんclick.rightはコンパイル時にcontextmenuエイリアスする必要がありますか?

全てのコメント11件

申し訳ありませんが、2.2.1を超えるバージョンで試してみます。

ありがとうございました

申し訳ありませんが、この更新されたバージョンでは、それも機能しません:
https://jsfiddle.net/z1jhpewo/1/

@stefanonepa
すみません、それは私のせいです

@stefanonepa
多分あなたはmousedownイベントが必要
https://javascript.info/mouse-events-basics

@Kingwlこのドキュメントが非常に信頼できるかどうかは。https ://javascript.info/mouse-events-basics#complex-eventsの説明では、コンテキストメニューがマウスダウン時に起動されると書かれているためです。たとえば、右ボタンをマウスダウンしただけではコンテキストメニューが作成されませんでした)...

逆に言えば、マウスダウンの後にマウスアップが続くとクリックイベントが発生するということです...

@click.right

うまくいくはずです、あなたは同意しませんか?

@stefanonepa
https://www.w3.org/TR/uievents/#event -type-click

クリックイベントは、プライマリポインタボタンに対してのみ発生する必要があります(つまり、ボタンの値が0の場合、ボタンの値は1です)。 セカンダリボタン(標準のマウスの中央または右ボタンなど)は、クリックイベントを発生させてはなりません。 クリックイベントの前に、他のノードタイプ(テキストノードなど)間の変更を無視して、同じ要素でmousedownイベントとmouseupイベントを実行できます(MAY)。 環境構成によっては、ポインティングデバイスボタンを押してから離すまでの間に1つ以上のイベントタイプmouseover、mousemove、mouseoutが発生した場合、クリックイベントがディスパッチされる場合があります。 クリックイベントの後にdblclickイベントが続く場合もあります。

@Kingwlは標準をありがとう(私にとっては少し霧がかかっていても)

しかし、「マウスボタン修飾子」(https://vuejs.org/v2/guide/events.html#Mouse-Button-Modifiersを参照)の.rightをどのように解釈または使用する必要がありますか? @click.middleすると、クリックイベントが発生するため、公式ドキュメントに情報を追加することをお勧めしますか?

うーん、たぶんclick.rightはコンパイル時にcontextmenuエイリアスする必要がありますか?

それは素晴らしいことです!

ありがとう@ yyx990803

このページは役に立ちましたか?
0 / 5 - 0 評価