2

コンテキストメニューがめちゃくちゃになると誰もが嫌うので、私が求めているのはその逆です。Webページのコンテキストメニューの変更を処理するjavascriptプラグインを探してみましたが、非常に煩わしいことがわかりました。(つまり、コンテキストメニューには、開発者が選択した項目のみが含まれるようになりました)。ユーザーの通常のアイテムを維持しながら、同時にメニューのネイティブスタイルを維持しながら、コンテキストメニューにアイテムを追加する方法はありますか?私が見つけたのと同じプラグインでは、開発者がメニューの新しいスタイルを定義する必要があります。車輪の再発明の意味がわかりません。

私のクライアントは、ユーザーが右クリックしたときにサイトに機能を追加したいと思っているので、質問します。

4

1 に答える 1

1
  • コンテキスト メニューは、通常の JavaScript + DOM では変更できません。これは (通常) 抑制され、コンテキスト メニューのように見えて動作する動的な HTML に置き換えることができます。これが、スタイルが異なって見える理由であり、組み込みのコンテキスト メニューとカスタム コンテキスト メニューを組み合わせることができない理由です... JavaScript で作成された「コンテキスト メニュー」は、実際にはコンテキスト メニューではありません。

  • イベントがキャンセルされるとコンテキスト メニューが無効になる場合がありますが、それはブラウザ次第です。ほとんどのブラウザには、コンテキスト メニューの非表示を禁止するオプションが用意されています。有効にすると、イベントがキャンセルされてもメニューが表示されます。これにより、実際のコンテキスト メニューと偽の JavaScript の 2 つの「コンテキスト メニュー」が表示されます。

  • ユーザーのシステムの外観に基づいて Web ページのスタイルを設定するには、CSS2 ( http://www.iangraham.org/books/xhtml1/appd/update-23feb2000.html ) および/または CSS3 の外観プロパティ ( http ://www.w3.org/TR/2004/CR-css3-ui-20040511/#システム)

編集: "a client of mine wants to add extra functionality to the site when the user right clicks"-- に応じて、サイトが Web アプリケーション (たとえば、Google ドキュメントなど) であり、ユーザーがコンテキスト メニューが異常なことを行うことを合理的に期待する場合にのみ、これを行う必要があることをクライアントにアドバイスすることができます。また、コンテキスト メニューを介して実行できるすべてのことを非表示にしない方法があることを確認する必要があります。

于 2010-07-11T19:00:18.123 に答える